标准Python 3.4的枚举支持已经通过pypi中的enum34包反向移植到Python 3.x和2.x.
在Python 2.7中使用enum34包,我很失望地看到它在交互式python的help()函数中的行为:
例如:
colors.py:
from enum import Enum
class Colors(Enum):
"""Enumeration of the three base colors"""
RED = 1
GREEN = 2
BLUE = 3
在python中:
>>> import colors
>>> help(colors)
Help on module colors:
NAME
colors
FILE
<mypath>/colors.py
CLASSES
enum.Enum(__builtin__.object)
Colors
Colors = <enum 'Colors'>
它甚至没有列出类描述。 : - (
如何在help()或pydoc中显示类描述?
如何记录枚举成员,以便该文档显示在help()或pydoc中?
安迪
答案 0 :(得分:0)
可悲的是,help()
(pydoc
)无法正确显示有关Enum
的信息。我们不得不在3.4及更高版本中做一些修复以获得更好的结果。
您可以直接显示__doc__
,也可以制作自己的help()
包装器,首先检查对象是否为Enum
,在这种情况下,您可以打印所需的位了解,否则(或另外)调用常规help
。