枚举-支持Python枚举

枚举是给定的唯一值和常量值的一组标识符(成员)。在枚举内,可以通过身份比较成员。枚举对象也可以终止。

枚举模块定义以下类

枚举:用于创建枚举常量的基类。

IntEnum :用于创建枚举常量的基类,这些常量也是int的子类。

使用类语法创建枚举

#enumexample.py

from enum import Enum

class langs(Enum):

Python = 1

Java = 2

Cpp = 3

Ruby = 4

枚举成员具有人类可读的字符串表示形式和repr表示形式。

>>> from enumexample import langs

>>> print (langs.Python)

langs.Python

>>> print (repr(langs.Python))

<langs.Python: 1>

每个枚举成员都有名称和值属性。

>>> x = langs.Python

>>> x.name

'Python'

>>> x.value

1

您可以使用循环遍历所有成员。

>>> for lang in langs:

print (lang.name, lang.value)

Python 1

Java 2

Cpp 3

Ruby 4

可以借助值或身份来访问成员

>>> langs(3)

<langs.Cpp: 3>

>>> langs['Java']

<langs.Java: 2>

身份运算符是否可以用于比较枚举成员。

>>> x = langs(2)

>>> y = langs(4)

>>> x is y

False

具有相同名称的两个枚举成员无效。但是,两个枚举成员可以具有相同的值。将enumexample.py更改为以下内容:

from enum import Enum

class langs(Enum):

Python = 1

Java = 2

Cpp = 3

Ruby = 4

Cplusplus = 3

>>> from enumexample import langs

>>> langs.Cpp

<langs.Cpp: 3>

>>> langs.Cplusplus

<langs.Cpp: 3>

>>> langs(3)

<langs.Cpp: 3>

默认情况下,枚举可以使用多个名称作为同一值的别名。为了确保唯一值,请使用@ enum.unique专门用于枚举的类装饰器。

以上是 枚举-支持Python枚举 的全部内容, 来源链接: utcz.com/z/316712.html

回到顶部