小编fun*_*tal的帖子

从 Python 中的字符串列表创建枚举类

当我运行这个时

from enum import Enum

class MyEnumType(str, Enum):
    RED   = 'RED'
    BLUE  = 'BLUE'
    GREEN = 'GREEN'

for x in MyEnumType:
    print(x)
Run Code Online (Sandbox Code Playgroud)

我按预期得到以下信息:

MyEnumType.RED
MyEnumType.BLUE
MyEnumType.GREEN
Run Code Online (Sandbox Code Playgroud)

是否可以从从其他地方获得的列表或元组创建这样的类?

也许与此有些类似

myEnumStrings = ('RED', 'GREEN', 'BLUE')

class MyEnumType(str, Enum):
    def __init__(self):
        for x in myEnumStrings :
            self.setattr(self, x,x)
Run Code Online (Sandbox Code Playgroud)

但是,与原始方式一样,我不想显式实例化对象。

python enums

6
推荐指数
1
解决办法
4240
查看次数

标签 统计

enums ×1

python ×1