我定义了两个带有属性的枚举。当我想通过指定属性来访问枚举元素时,它适用于枚举A(一个属性),但不适用于枚举B(两个属性):
from enum import Enum
class A(Enum):
ValOne = ('One')
ValTwo = ('Two')
def __init__(self, num):
self.num = num
class B(Enum):
ValOne = ('Val', 'One')
ValTwo = ('Val', 'Two')
def __init__(self, val, num):
self.val = val
self.num = num
print(A('One'))
print(B('Val', 'One'))
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
A.ValOne
Traceback (most recent call last):
File "test.py", line 19, in <module>
print(B('Val', 'One'))
File "/usr/lib/python3.8/enum.py", line 341, in __call__
return cls._create_(
File "/usr/lib/python3.8/enum.py", line 444, in _create_
_, first_enum = cls._get_mixins_(cls, bases) …Run Code Online (Sandbox Code Playgroud)