在Python 中,Enum是一个用于定义具有唯一值的可枚举类的模块。通过使用Enum,我们能够清晰地定义一组与名称对应的常量值。这在某些情况下特别有用,比如状态机、分类标识、条件选择等场景。然而,很多初学者在使用 Python 的Enum时,往往会对如何为枚举成员指定具体的值感到困惑。本文将详细介绍 PythonEnum的基本概念、使...
通过name查询value的方法 要通过枚举的名称来查询其对应的值,我们可以使用Enum类的__members__属性。这个属性是一个字典,其中包含枚举成员的名称和值。以下是一个示例: defget_value_by_name(enum_class,name):members=enum_class.__members__returnmembers[name].value# 使用示例color_name='GREEN'color_value=g...
如果确切的值不重要,可以使用auto()生成值,值将由_generate_next_value_()来选择 _generate_next_value_默认是我们定义的最后一个int开始+1,如下示例,TIME的auto值则是11 _generate_next_value_可以重写,必须定义其他成员之前 classConfig(enum.Enum):MAX=1000MIN=10TIME=enum.auto()# 11City=enum.auto()# ...
importenumclassTest(enum.Enum):A=111'''通过枚举成员的值获取枚举成员'''print(Test(111))# 输出结果为 Test.Aprint(Test(111).name)# 输出结果为 A'''类似字典的访问方式'''print(Test['A'])# 输出结果为 Test.Aprint(Test['A'].value)# 输出结果为 111 上个例子中我们类似字典键的方式获取枚举...
return descriptions[self.value] 我们不再需要单独管理描述,而是可以直接访问它们: print(Status.PENDING.description) # Output: The request is pending approval. print(Status.APPROVED.description) # Output: The request has been approved. 这将使enum更丰富和 self-contained。
Enum高级技巧:映射额外数据 通过存储额外的属性,还可以在Enum中使用类似于dataclass的行为。 复制 fromenumimportEnumclassStatus(Enum): PENDING=("pending","🟡")APPROVED=("approved","✅")REJECTED=("rejected","❌")def __init__(self,value,emoji): ...
enum_class.__qualname__ = qualnamereturnenum_class 通过这样就可以初始化并返回一个枚举类。 关于Enum的元素的使用 通过源码可知:可以通过:enum_(value).vlaue/name,或者sth = enum.name-->sth.name/value,至于为什么,需要查看源码: classDynamicClassAttribute:"""Route attribute access on a class to __ge...
将数据塞到data中data[name]={_data:hash_content}if__name__=='__main__':path
enum枚举类型和其他大多数编程语言的枚举类型概念相同,主要是通过提前设定好一些固定的值来限定可以传递的内容。 在AI平台实名认证服务的测试中,需要一个认证人类型的字段,由于认证人类型收敛,于是使用enum类型来定义: 代码语言:javascript 代码运行次数:0 运行 ...
Python枚举类的定义、使用和最佳实践:定义: 枚举类是一种特殊的数据类型,用于表示一组具有离散取值的常量。 在Python中,使用内置模块enum来创建和使用枚举类。枚举模块提供了Enum类,允许定义自己的枚举类型。 定义枚举类时,需要导入Enum类并创建一个继承自它的子类,在子类中定义枚举成员,并为每个...