2016-06-10 116 views
0

有沒有辦法讓C++像枚舉類型一樣在Python中?例如,在C++中,我可以這樣做:python是否支持枚舉類型?

enum Foo { 
    bar, 
    foobar, 
    blah 
}; 

並將它們用作全局常量。 Python中是否有類似的東西?

回答

0

Python3.4 +支持enum模塊中的各種類型的枚舉。顯然它與CC++中的枚舉類型並不完全相同,但它的用途相同。如果你被困在一個老版本的python中,there's a 3rd party backport available on pypi

基本用法是這樣的:

class Foo(enum.Enum): 
    bar = 1 
    foobar = 2 
    blah = 3 
1

From the Docs: 枚舉使用類語法,這使得它們很容易讀取和寫入創建。 Functional API中介紹了另一種創建方法。要定義一個枚舉,子類枚舉如下:

>>> 
>>> from enum import Enum 
>>> class Color(Enum): 
...  red = 1 
...  green = 2 
...  blue = 3 
+0

有沒有辦法做到這一點沒有等號?你必須做「= 2」嗎? – Kyle