我正在使用类enum.Enum来限制用户可用的可选字段。
用于创建包含以下成员的枚举的代码:是,否,可能是:
来自enum import Enum
my_enum =枚举('my_enum','是否可能')
使用PyCharm时,我希望用户在使用my_enum时可以看到可用的成员(是,否,可能):
test = my_enum.Yes
相反,按下点时,我会看到以下内容:
我没有在选项中看到可选字段。
答案 0 :(得分:1)
你遇到的问题是因为Enum成员是短暂的 - 这是一种奇特的方式,说他们并没有真正作为阶级属性存在。*
然而,性能增强(绝对是Python 3.6,可能也在Python 3.5中),在可能的情况下(大部分时间)将成员存储在类中。
换句话说,它应该很快就会奏效。
*好奇的是,成员被类级__getattr__
找到并返回,这被称为在所有其他方法失败后找到属性的最后努力;性能提升是继续将成员存储在课堂上,以便更快地找到它们。