Python的枚举等价物[重复]
Posted
技术标签:
【中文标题】Python的枚举等价物[重复]【英文标题】:Python's enum equivalent [duplicate] 【发布时间】:2011-03-15 23:59:08 【问题描述】:可能重复:What’s the best way to implement an ‘enum’ in Python?
不同索引名称列表(如 C/C++ 或 Java 中的 Enum)的 Python 习语是什么?
澄清:我希望将值的属性设置为受限范围,例如卡片组Heart, Club, Spade, Diamond
。我可以用 0..3 范围内的 int 表示它,但它会允许超出范围的输入(如 15)。
【问题讨论】:
***.com/questions/36932/… 类似问题:***.com/questions/36932/… 【参考方案1】:class Suite(object): pass
class Heart(Suite): pass
class Club(Suite): pass
等等
python 中的类是一个对象。所以你可以写
x=Heart
等等
【讨论】:
【参考方案2】:这是*** 上非常受欢迎的问题
编辑:
class Suite(set):
def __getattr__(self, name):
if name in self:
return name
raise AttributeError
s1 = Suite(['Heart', 'Club', 'Spade', 'Diamond'])
s1.Heart
【讨论】:
以上是关于Python的枚举等价物[重复]的主要内容,如果未能解决你的问题,请参考以下文章