高级枚举(与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的类
    常量或枚举成员
  • 唯一:确保没有重复成员的装饰器

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在jframe中模糊的背景上创建一个透明的矩形   java和super之间有区别。getX()和简单的x?   使用ant的java删除eclipse项目   java找不到。txt文件?   多线程Java wait()notify()   带按钮的java透明控件   java Android Studio 3无法构建我的项目   性能最佳(最快且节省内存)的Java收集/数据结构,可同时插入和删除项   spring+hibernate集成中的java ClassNotFoundException   java如何在Android上建立异步URL连接?   java当我选择contacts选项卡时,选项卡栏消失了   java根据数据库中的日期获取结果,不考虑时间   java如何访问WebChromeClient中的方法?   java如何在安卓中使用两行列表项?   spring Swagger Java日期格式验证引发异常