支持序列、位掩码和字符串枚举的枚举模块

yaenum的Python项目详细描述


另一个枚举器是支持三种不同类型枚举的枚举模块:

  • sequence enums (0, 1, 2, 3, etc.)
  • base 2 bitmask enums (0, 1, 2, 4, 8, etc.)
  • string enums (‘top’,’bottom’,’left’,’right’, etc.)

每个枚举都是它自己的类,该类的实例是单例的。除了作为一个值,枚举实例还可以有自己的行为(用例,任何人?).

创建枚举非常简单:

from yaenum import Enum, BitMaskEnum, UniqueEnum, enum

Enum.create('Color', 'red green blue', export=globals())

或:

class Color(BitMaskEnum):       # python 3+ only
    black
    red
    green
    blue

如果这对你来说太神奇了:

class Color(BitMaskEnum):
    black = enum()              # python 2: enum(value=0) etc.
    red   = enum()
    green = enum()
    blue  = enum()

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

推荐PyPI第三方库


热门话题
java在Android中维护应用程序状态   javajavacc:如何指定在特定上下文中需要哪些令牌?   java为什么改型会在重新加载数据时设置以前的响应?   java如何将键转换为字符串,反之亦然   java JDOM解析器插入#固定手动属性   java按元素对XML数据排序?   java Android中有哪些哈希算法?   java为什么使用可选返回类型进行单元测试失败?   Gson和argonauts使用Gson将javascript数组转换为json字符串并转换为javapojo时遇到的问题。试图让我的结构正确   java中的空格   java SQLite高分,草率IndexOutofBounds Android   使用Spring OAUTH2的java Make客户端   netbeans如何在java中创建一个JPopupMenu,其中包含一个要复制文本的项