当我运行这个
from enum import Enum
class MyEnumType(str, Enum):
RED = 'RED'
BLUE = 'BLUE'
GREEN = 'GREEN'
for x in MyEnumType:
print(x)
我按预期得到以下信息:
MyEnumType.RED
MyEnumType.BLUE
MyEnumType.GREEN
是否可以从从其他地方获得的列表或元组创建这样的类?
可能与此有些相似的东西:
myEnumStrings = ('RED', 'GREEN', 'BLUE')
class MyEnumType(str, Enum):
def __init__(self):
for x in myEnumStrings :
self.setattr(self, x,x)
然而,和原来一样,我不想显式实例化一个对象。
您可以为此使用枚举功能 API:
from enum import Enum
myEnumStrings = ('RED', 'GREEN', 'BLUE')
MyEnumType = Enum('MyEnumType', myEnumStrings)
从文档:
调用 Enum 的第一个参数是枚举的名称。
第二个参数是枚举成员名称的来源。它可以是空格分隔的名称字符串、名称序列、具有键/值对的 2 元组序列或名称到值的映射(例如字典)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句