python - 断言错误:断言是 str + 在哪里= 类型()
问题描述
这很奇怪:即使我没有从它继承,我的类也被识别为枚举
class AccessId:
MENU_TAB: str = "Menu"
BASKET_TAB: str = "Panier"
BUYLIST_TAB: str = "Listes"
HOME_TAB: str = "Accueil"
DISCOUNT_TAB: str = "Promos"
DELETE_PRODUCT: str = "Supprimer l'article"
我试图用这个断言进行调试:
assert type(AccessId.HOME_TAB) is str
并得到:
AssertionError: assert <enum 'AccessId'> is str
+ where <enum 'AccessId'> = type(<AccessId.HOME_TAB: 'Accueil'>)
看不懂,求大佬帮帮我
我尝试过的事情:
- 已清除的
__pycache__
文件夹 - 尝试过,
assert type(AccessId.HOME_TAB.value) is str
因为它显然是一个枚举并且它没有找到属性值。 - 在控制台中尝试
type(AccessId.HOME_TAB) is str
并得到了True
wtf - 创建了一个类似的类并且没有 AssertionError (???)
解决方案
我找到了原因,请检查您的 IDE 是否没有从错误的目录自动导入。就我而言,它是我之前使用 AccessId 子类化 Enum 的构建目录。
推荐阅读
- javascript - 将前几天的大日历样式反应到当前日期
- windows - 通过 TERMINAL 关闭 Kafka
- java - Spring JSON转换器将日期格式“yyyy-MM-dd'T'HH:mm:ss.SSSXXX”转换为无偏移量的OffsetDateTime
- android - 为什么重新启动 Android Studio 后,“Gradle-aware Make”会自动添加到我的自定义运行/调试配置中?
- android - INSTALL_NON_MARKET_APPS 自 API 21 起已弃用,有什么替代方案?
- php - 服务器请求客户端未知的身份验证方法 [caching_sha2_password]
- game-maker - 全局变量/淡出未触发
- android - ExoPlayer 发布后如何重新初始化?
- ruby-on-rails - Rails 5远程表单使用虚拟属性重定向到不同的页面
- inheritance - 无法继承命名查询