##### enum 库 - 枚举(Enum)是一种数据类型,用于定义一组**命名的常量值**。枚举可以帮助你在代码中更清晰地表示一组相关的常量,从而增强代码的可读性和可维护性 ```python from enum import Enum,unique,auto ``` ##### enum 主要API ```python # 装饰器 @unique 确保枚举值唯一,如果有重复的枚举值被定义,会报错 # 辅助类 auto() 自动分配递增唯一的整数值给枚举成员 # 下面枚举基类,用于继承 # Enum 类:这是最常见的枚举类,用于创建一个基本的枚举类型,可以包含多个枚举项,每个枚举项都有一个名称和一个关联的值。 class Color(Enum): RED = 1 GREEN = 2 BLUE = 3 print(Color.RED) # Color.RED print(Color.GREEN.value) # 2 # IntEnum 类:与 Enum 类类似,但是它的枚举值是整数类型,用于限制枚举值只能是整数。 class Status(IntEnum): SUCCESS = 200 NOT_FOUND = 404 SERVER_ERROR = 500 print(Status.SUCCESS) # Status.SUCCESS print(Status.NOT_FOUND) # Status.NOT_FOUND # Flag 类:用于定义位标志(bit flags)枚举类型,允许枚举值使用按位操作组合成多个标志。每个枚举项的值应该是 2 的幂,以便进行位操作。 @unique class Permissions(Flag): READ = 1 WRITE = 2 EXECUTE = 4 print(Permissions.READ) # Permissions.READ print(Permissions.WRITE) # Permissions.WRITE # IntFlag 类:与 Flag 类类似,但是枚举值是整数类型 @unique class Flags(IntFlag): A = auto() B = auto() C = auto() print(Flags.A) # Flags.A print(Flags.B.value) # 2 ```