Python的enum等价物
可能重复:
什么是在Python中实现'枚举'的最佳方式?
什么是不同索引名称列表的Python成语(如C / C ++或Java中的Enum)?
澄清:我希望将一个值的属性设置为受限制的范围,例如Card Suite Heart, Club, Spade, Diamond
。 我可以用范围为0..3的int来表示它,但它可以允许超出范围输入(如15)。
class Suite(object): pass
class Heart(Suite): pass
class Club(Suite): pass
等等
Python中的类是一个对象。 所以你可以写
x=Heart
等等
这里是在stackoverflow上非常普遍的问题
编辑 :
class Suite(set):
def __getattr__(self, name):
if name in self:
return name
raise AttributeError
s1 = Suite(['Heart', 'Club', 'Spade', 'Diamond'])
s1.Heart
链接地址: http://www.djcxy.com/p/91733.html