小编Mar*_*kuz的帖子

Python Enum:如何获取具有多个属性的枚举值

我定义了两个带有属性的枚举。当我想通过指定属性来访问枚举元素时,它适用于枚举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)

python enums

2
推荐指数
1
解决办法
5742
查看次数

标签 统计

enums ×1

python ×1