我想知道如何定義枚舉,就像下面我在JAVA和C中做的那樣?有沒有什麼辦法可以在Python中定義枚舉?
C:
typedef enum status{
OFFLINE = 1,
ONLINE = 2,
LOGIN =3
} STATUS_T;
我想知道如何定義枚舉,就像下面我在JAVA和C中做的那樣?有沒有什麼辦法可以在Python中定義枚舉?
C:
typedef enum status{
OFFLINE = 1,
ONLINE = 2,
LOGIN =3
} STATUS_T;
OFFLINE = 1
ONLINE = 2
LOGIN = 3
如果你想STATUS_T.OFFLINE
的方式來訪問,你可以在一個類包裹。 Python是一種動態類型語言,因此枚舉的概念毫無意義,你所能做的就是擁有一些你可以設置的有意義的值。
顯然,等效一直在3.4加入,看到How can I represent an 'Enum' in Python?
不是真的。
最常見的成語是在類級別定義一組常數:
class PhonyEnum(object):
OFFLINE = 1
ONLINE = 2
LOGIN = 3
這是給你用它們作爲常量:
if result == PhonyEnum.ONLINE:
do_something
其他人也做同樣的事情在模塊級別而不是級別級別
感謝您的幫助。 – sureone
http://stackoverflow.com/questions/36932/how-can-i-represent-an-enum-in-python –