在Enum中显示可选成员

时间:2015-07-20 05:29:43

标签: python python-3.x enums

我正在使用类enum.Enum来限制用户可用的可选字段。

用于创建包含以下成员的枚举的代码:是,否,可能是:

  

来自enum import Enum

     

my_enum =枚举('my_enum','是否可能')

使用PyCharm时,我希望用户在使用my_enum时可以看到可用的成员(是,否,可能):

  

test = my_enum.Yes

相反,按下点时,我会看到以下内容:

enter image description here

我没有在选项中看到可选字段。

1 个答案:

答案 0 :(得分:1)

你遇到的问题是因为Enum成员是短暂的 - 这是一种奇特的方式,说他们并没有真正作为阶级属性存在。*

然而,性能增强(绝对是Python 3.6,可能也在Python 3.5中),在可能的情况下(大部分时间)将成员存储在类中。

换句话说,它应该很快就会奏效。

*好奇的是,成员被类级__getattr__找到并返回,这被称为在所有其他方法失败后找到属性的最后努力;性能提升是继续将成员存储在课堂上,以便更快地找到它们。