我知道我可以像其他任何类一样将Python docstring添加到枚举类型。但是,如何向该类型的元素添加文档?
据我所知,存在三种可能性:
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枚举元素是否有首选的方式或约定?
答案 0 :(得分:4)
如果值本身并不重要,请参见How do I put docstrings on Enums?。如果值很重要,则可以自定义该答案或使用aenum
1 库:
from aenum import Enum
class MyEnum(Enum):
_init_ = 'value __doc__'
a = 0, 'docstring for a'
b = 1, 'another for b'
c = 2, 'and one for c as well'
结果为:
>>> MyEnum.b.value
1
>>> MyEnum.b.__doc__
'another for b'
但是,我不知道哪个IDE支持使用Enum成员文档字符串。
1 披露:我是Python stdlib Enum
,enum34
backport和Advanced Enumeration (aenum
)库的作者。