python是否支持枚举类型?

时间:2016-06-10 02:13:53

标签: python python-3.x

有没有办法让像C ++这样的枚举类型的C ++?例如,在C ++中我可以这样做:

enum Foo {
    bar,
    foobar,
    blah
};

并将它们用作全局常量。 Python中有类似的东西吗?

2 个答案:

答案 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模块中的各种类型的枚举。显然,它与CC++中的枚举类型不完全相同,但它的作用相同。如果您遇到旧版本的python there's a 3rd party backport available on pypi

基本用法如下:

class Foo(enum.Enum):
    bar = 1
    foobar = 2
    blah = 3
相关问题