有没有办法让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