Как исправить ошибку Python Enum - AttributeError (name) от None? - PullRequest
0 голосов
/ 10 июня 2019

Попытка использовать перечисление в Python 3.7.3, получая следующую ошибку. Уже пытался установить - и удалить - enum34, но все равно не работает. Выполнял все операции в виртуальной среде (как показывает ошибка).

Есть ли что-нибудь еще, что я могу сделать, чтобы это исправить (кроме использования другой реализации enum, как показано в в этом вопросе )?

#enum import:
from enum import Enum

# enum definition:
class Status(Enum):
    on: 1
    off: 2

# enum utilisation (another class, same file):
self.status = Status.off

# error:
File "C:\dev\python\test\venv\lib\enum.py", line 349, in __getattr__
AttributeError(name) from None
AttributeError: off

Ответы [ 2 ]

3 голосов
/ 10 июня 2019

В вашем определении используйте = для присвоения значений атрибутам, а не :.

# enum definition:
class Status(Enum):
    on = 1
    off = 2
3 голосов
/ 10 июня 2019

Правильный синтаксис для определения перечисления:

class Status(Enum):
    on = 1
    off = 2

Не on: 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...