это странно: мой класс распознается как Enum, даже если я не унаследовал его
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Я использовал IPython, проблема связана с автоматическим импортом, моя IDE автоматически импортировала библиотеку из каталога сборки, а не из проекта, и я не проверял это дважды...
Рад, что ты понял это. Вы должны сами ответить на свой вопрос, чтобы кто-то в будущем мог извлечь из этого пользу.
Я нашел причину, проверьте, не выполняет ли ваша IDE автоматический импорт из неправильного каталога. В моем случае это был каталог сборки, в котором я ранее создавал подкласс Enum с AccessId.
Эти сообщения не из стандартного Python REPL — вы используете Jupyter, IPython или что-то еще?