高级枚举(与python的stdlib枚举兼容)、namedtuples和namedconstants
aenum的Python项目详细描述
高级枚举(与python的stdlib枚举兼容)、namedtuples和namedconstants
a enum包括一个与python stdlib enum兼容的数据类型,以及一个基于元类的namedtuple实现和一个namedconstant类。
枚举是绑定到唯一的常量值的一组符号名称(成员)。在枚举中,可以按标识比较成员,并且可以遍历枚举本身。支持存在唯一值、多值、自动编号和混叠中止(具有相同值的成员不相同),加上将值自动绑定到属性的能力。
namedtuple是一个基于类的固定长度元组,使用属性访问标记和标准索引标记可以访问每个可能位置的名称。
namedconstant是一个类,其成员不能被反弹;但是,它缺少所有其他枚举功能。
枚举类:
- 枚举:用于创建枚举常量的基类。
- intenum:用于创建枚举常量的基类,这些常量也是
- int.的子类
- 标志:用于创建可组合的枚举常量的基类
- 使用按位操作而不丢失其标志成员。
- intflag:用于创建可组合的枚举常量的基类
- 使用按位运算符而不丢失其intflag成员身份。 intflag成员也是int的子类。
- autonumbernum:自动为每个值指定int值的派生类
- 成员。
- orderedenum:将<;、<;=、>;=和>;方法添加到枚举的派生类。
- uniqueenum:确保只有一个名称绑定到任何一个名称的派生类
- 值。
实用功能包括:
- convert:helper将目标全局变量转换为枚举
- 常量:用于创建常量成员的助手类
- 枚举:用于创建具有关键字的成员的助手类
- export:helper将枚举成员插入命名空间(通常为globals())
- 扩展枚举:创建后向枚举添加新成员
- 模块:将namedconstant和enum类插入sys.modules
- 它看起来是一个模块,其顶层名称 不能回弹
- 跳过:防止属性转换为a的类
- 常量或枚举成员
- 唯一:确保没有重复成员的装饰器