尝试在Python 3.7.3中使用枚举,出现以下错误。已经尝试安装和卸载enum34,但仍然无法正常工作。是否在虚拟环境中进行了所有操作(如错误所示)。
除了解决this question中所示的另一个枚举实现之外,还有其他方法可以解决吗?
#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
答案 0 :(得分:3)
定义枚举的正确语法是:
class Status(Enum):
on = 1
off = 2
不是on: 1
。
答案 1 :(得分:3)
在您的定义中,使用=
为属性而不是:
分配值。
# enum definition:
class Status(Enum):
on = 1
off = 2