Login
网站首页 > 文章中心 > 其它

Python枚举的定义与3种使用方法

作者:小编 更新时间:2023-08-05 00:41:44 浏览量:349人看过

Python 枚举的定义

在Python中定义枚举类非常简单,只需要继承Enum类即可.例如,定义一个表示星期几的枚举类可以这样写:


Python枚举的定义与3种使用方法-图1

from enum import Enum class Weekday(Enum): SUN = 7

除了直接赋值之外,枚举值还可以通过其他方式来定义.例如,可以使用其他枚举值的取值来定义新的枚举值:

from enum import Enum

class Color(Enum):
BLACK = 0

这里定义了一个名为Color的枚举类,其中WHITE的取值是RED | GREEN | BLUE,也就是将RED、GREEN和BLUE三个枚举值的取值进行按位或运算得到的结果.

Python 枚举的使用

在Python中,枚举值可以像普通变量一样使用.例如,可以通过枚举值的名称或者取值来获取枚举值:

>>> weekday = Weekday.MON
>>> print(weekday)
Weekday.MON
>>> print(weekday.name)
MON
>>> print(weekday.value)
1
>>> print(Weekday(2))
Weekday.TUE

可以使用name属性获取枚举值的名称,使用value属性获取枚举值的取值.另外,可以使用Enum(value)函数根据取值来获取对应的枚举值.

枚举类还可以进行迭代,获取枚举值的名称和取值:

>>> for day in Weekday:
...     print(day.name, day.value)
...
MON 1
TUE 2
WED 3
THU 4
FRI 5
SAT 6
SUN 7

枚举值还可以进行比较和排序,这是因为Python中的枚举值默认实现了eq和lt等比较运算符.下面是一个简单的 Python 枚举值进行比较和排序的实例:

from enum import Enum

# 定义一个枚举类
class Color(Enum):
print(color)

输出结果:

Color.RED == Color.RED
Color.RED != Color.GREEN
排序后的颜色值:
Color.RED
Color.GREEN
Color.BLUE

在这个例子中,我们首先定义了一个枚举类 Color,其中包含三个枚举值:RED、GREEN 和 BLUE.

然后我们比较了两个枚举值 Color.RED 和 Color.GREEN,由于它们不相等,所以呢输出了 Color.RED != Color.GREEN.

最后,我们创建了一个包含三个枚举值的列表 colors,并对它们进行排序.排序后,我们使用 for 循环遍历排序后的列表,并输出每个枚举值的名称.

以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章