有沒有辦法讓C++像枚舉類型一樣在Python中?例如,在C++中,我可以這樣做:python是否支持枚舉類型?
enum Foo {
bar,
foobar,
blah
};
並將它們用作全局常量。 Python中是否有類似的東西?
有沒有辦法讓C++像枚舉類型一樣在Python中?例如,在C++中,我可以這樣做:python是否支持枚舉類型?
enum Foo {
bar,
foobar,
blah
};
並將它們用作全局常量。 Python中是否有類似的東西?
Python3.4 +支持enum
模塊中的各種類型的枚舉。顯然它與C
或C++
中的枚舉類型並不完全相同,但它的用途相同。如果你被困在一個老版本的python中,there's a 3rd party backport available on pypi。
基本用法是這樣的:
class Foo(enum.Enum):
bar = 1
foobar = 2
blah = 3
From the Docs: 枚舉使用類語法,這使得它們很容易讀取和寫入創建。 Functional API中介紹了另一種創建方法。要定義一個枚舉,子類枚舉如下:
>>>
>>> from enum import Enum
>>> class Color(Enum):
... red = 1
... green = 2
... blue = 3
有沒有辦法做到這一點沒有等號?你必須做「= 2」嗎? – Kyle