{site_name}

{site_name}

🌜 搜索

Python中的枚举(Enum)是一种特殊的数据类型,用于定义命名的常量

Python 𝄐 0
python ensurepip,python ensure_ascii
Python中的枚举(Enum)是一种特殊的数据类型,用于定义命名的常量。在枚举中,每个成员都是一个具有唯一名称和值的对象。通常情况下,枚举成员的值是整数,但也可以是其他类型的数据。

在Python中,可以使用枚举来确保一个集合中的元素具有唯一性。这通常是通过使用装饰器@unique来实现的。

以下是一个示例:


from enum import Enum, unique

@unique
class Weekday(Enum):
MONDAY = 1
TUESDAY = 2
WEDNESDAY = 3
THURSDAY = 4
FRIDAY = 5
SATURDAY = 6
SUNDAY = 7


在这个例子中,我们定义了一个名为Weekday的枚举类,并使用装饰器@unique确保所有的枚举成员都具有唯一的值。每个成员都是一个对象,其名称是大写字母,并且具有一个整数值,其范围从1到7。

当我们创建一个Weekday枚举成员时,它将自动分配一个唯一的值,如果我们试图定义两个拥有相同值的成员,Python将引发ValueError异常。

例如,以下是如何使用Weekday枚举:


>>> print(Weekday.MONDAY)
Weekday.MONDAY

>>> print(Weekday.MONDAY.value)
1

>>> print(Weekday.TUESDAY.name)
TUESDAY

>>> print(Weekday(3))
Weekday.WEDNESDAY


在这个例子中,我们打印了MONDAY成员的名称和值,以及TUESDAY成员的名称。最后,我们使用一个整数值3创建了一个Weekday对象,并将其打印出来。

总之,通过确保枚举成员具有唯一值,Python的枚举使得开发人员能够更加轻松,安全地管理常量,并消除由于重复值而引起的错误。