我应该如何最好地模仿和/或避免使用Python中的枚举?

Lan*_*nny 5 python enums

我一直在使用一个小类来模拟一些Python项目中的Enums.有没有更好的方法,或者这对某些情况最有意义?

这里的类代码:

class Enum(object):
'''Simple Enum Class
Example Usage:
>>> codes = Enum('FOO BAR BAZ') # codes.BAZ will be 2 and so on ...'''
def __init__(self, names):
    for number, name in enumerate(names.split()):
        setattr(self, name, number)
Run Code Online (Sandbox Code Playgroud)

Ycr*_*ros 5

之前已经提议将枚举包含在语言中,但被拒绝(请参阅http://www.python.org/dev/peps/pep-0354/),尽管现有的包可以使用而不是编写自己的实现:


Eli*_*sky 3

这里有很多很好的讨论。