枚举-支持Python枚举
枚举是给定的唯一值和常量值的一组标识符(成员)。在枚举内,可以通过身份比较成员。枚举对象也可以终止。
枚举模块定义以下类
枚举:用于创建枚举常量的基类。
IntEnum :用于创建枚举常量的基类,这些常量也是int的子类。
使用类语法创建枚举
#enumexample.pyfrom 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 Enumclass 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