Python 3.4.0介绍enum,我已经阅读了doc但仍然不知道它的用法.从我的角度来看,枚举是一种扩展namedtuple类型,可能不是真的.所以这些是我想知道的枚举:
我知道我可以像其他任何类一样将Python文档字符串添加到枚举类型。但是,如何向该类型的元素添加文档?
据我所知,存在三种可能性:
class MyEnum(Enum):
    """
    This is my enum type.
    """
    """
    Variant 1
    """
    a = 0,  
    b = 1, # variant 2
    c = 2, """ variant 3 """
但是它们中的任何一个都不能真正持续地工作。如果我调用print(inspect.getdoc(MyEnum.a))任何变体,MyEnum则返回该类型的文档字符串(“这是我的枚举类型”)。Pycharm可以在其快速文档预览中显示变体3,但包含引号和超出列换行符的较长注释将无法正确显示。
是否有关于如何记录Python枚举元素的首选方法或约定?
我想创建一个存储二进制值的枚举,但我可以向其传递任何值(它将存储value % 2)。
也就是说:我想使用EnumPython3 中的“官方”类型,但更改构造函数。
我尝试了这段代码:\xc2\xa0
\n\nfrom enum import Enum\n\nclass Color(Enum):\n    black = 0\n    red = 1\n\n    def __new__(cls, value):\n        super().__new__(cls, value % 2)\n\n    def __str__(self):\n        return self.name\n但我收到一个错误:
\n\n>>> from ZCasino import *\nValueError: 0 is not a valid Couleur\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n  File "<stdin>", line 1, in <module>\n  File "/home/felix/T\xc3\xa9l\xc3\xa9chargements/ZCasino.py", line 12, in <module>\n    class Couleur(Enum):\n  File "/usr/lib/python3.8/enum.py", line 212, in …