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

上一篇: Python's enum equivalent

下一篇: Enumerations in python