有没有办法让像C ++这样的枚举类型的C ++?例如,在C ++中我可以这样做:
enum Foo {
bar,
foobar,
blah
};
并将它们用作全局常量。 Python中有类似的东西吗?
答案 0 :(得分:1)
From the Docs: 枚举是使用类语法创建的,这使它们易于读写。 Functional API中描述了另一种创建方法。要定义枚举,请按如下方式对Enum进行子类化:
>>>
>>> from enum import Enum
>>> class Color(Enum):
... red = 1
... green = 2
... blue = 3
答案 1 :(得分:0)
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