通过name查询value的方法 要通过枚举的名称来查询其对应的值,我们可以使用Enum类的__members__属性。这个属性是一个字典,其中包含枚举成员的名称和值。以下是一个示例: defget_value_by_name(enum_class,name):members=enum_class.__members__returnmembers[name].value# 使用
# 如果我定义了重复的value(仮) class Color(enum.Enum): red = 1 green = 2 blue = 3 yellow = 4 pink = 5 cyan = 6 purple = 6 # 这是通过value来获取成员 # 获取成员可以通过Color.key | Color[key]的方式,还可以使用Color(value)的方式 print(Color(6).name) # cyan print(Color.purple.n...
Enum): A = 1 print(Test.A.value) # 输出结果为 1 print(Test.A.name) # 输出结果为 A 除了直接像使用类元素那样调用枚举成员,还可以通过枚举成员的值反向获取枚举成员,也可以通过类似字典的方式通过枚举成员的名称获取枚举成员: import enum class Test(enum.Enum): A = 111 '''通过枚举成员的值获取...
代码语言:javascript 代码运行次数:0 运行 AI代码解释 >>>classAutoName(Enum):...def_generate_next_value_(name,start,count,last_values):...returnname...>>>classOrdinal(AutoName):...NORTH=auto()...SOUTH=auto()...EAST=auto()...WEST=auto()...>>>list(Ordinal)[<Ordinal.NORTH:'NORTH'>...
我们自定义的枚举类型继承Enum基类,之后还是通过Config.MAX获取得到的是枚举成员,通过.name和.value可以获得枚举成员对应的属性 在枚举类型中定义重复的枚举成员会抛出TypeError: Attempted to reuse key异常 在类的外部通过Config.MAX = 2的方式修改,会抛出AttributeError: Cannot reassign members异常 ...
importenum# 如果我定义了重复的value(仮)classColor(enum.Enum): red =1green =2blue =3yellow =4pink =5cyan =6purple =6# 这是通过value来获取成员# 获取成员可以通过Color.key | Color[key]的方式,还可以使用Color(value)的方式print(Color(6).name)# cyanprint(Color.purple.name)# cyan# 可以看到...
member.value=valuesetattr(enum_class,name,member)returnenum_class 来看下一个可运行的demo: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 class_Dict(dict):def__init__(self):super().__init__()self._member_names=[]def__setitem__(self,key,value):ifkeyinself:raiseTypeError('Attempted t...
print(name, '---', member, '---', member.value) # 直接引用一个常量 print('\n', Month.Jan) 输出的结果如下: 我们使用Enum来定义了一个枚举类。 上面的代码,我们创建了一个有关月份的枚举类型 Month ,这里要注意的是构造参数,第一个参数 Month 表示的是该枚举类的类名,第二个 tuple 参数,表示...
>>> member = Color.RED >>> member.name 'RED' >>> member.value 1 复制枚举成员和值 不允许有同名的枚举成员: >>> >>> class Shape(Enum): ... SQUARE = 2 ... SQUARE = 3 ... Traceback (most recent call last): ... TypeError: Attempted to reuse key: 'SQUARE' 但是,允许两个...
The Python convention, however, is to capitalize enum values. Reading the attributes of instances of types is done using the corresponding properties: Copy to Clipboard Toggle word wrap print("vm.name: %s" % vm.name) print("vm.memory: %s" % vm.memory) for custom_property in v...