Python 3.4枚举的类和成员文档

时间:2014-04-28 16:45:27

标签: python enums

标准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'>

它甚至没有列出类描述。 : - (

  1. 如何在help()或pydoc中显示类描述?

  2. 如何记录枚举成员,以便该文档显示在help()或pydoc中?

  3. 安迪

1 个答案:

答案 0 :(得分:0)

可悲的是,help()pydoc)无法正确显示有关Enum的信息。我们不得不在3.4及更高版本中做一些修复以获得更好的结果。

您可以直接显示__doc__,也可以制作自己的help()包装器,首先检查对象是否为Enum,在这种情况下,您可以打印所需的位了解,否则(或另外)调用常规help