Python中的枚举enum

Enum是python中用于创建枚举的类,枚举是绑定到唯一,恒定值的一组符号名(成员)。枚举的成员可以通过这些符号主题进行比较,并且枚举本身可以进行迭代。枚举具有以下特征。

  • 枚举是对象的可评估字符串表示形式,也称为repr()。

  • 枚举的名称使用“名称”关键字显示。

  • 使用type()我们可以检查枚举类型。

示例

import enum

#使用枚举类创建枚举

class Days(enum.Enum):

   Sun = 1

   Mon = 2

   Tue = 3

#将枚举成员打印为字符串

print ("The enum member as a string is : ",end="")

print (Days.Mon)

#将枚举成员打印为epr

print ("he enum member as a repr is : ",end="")

print (repr(Days.Sun))

#检查枚举成员类型

print ("The type of enum member is : ",end ="")

print (type(Days.Mon))

#打印枚举成员的名称

print ("The name of enum member is : ",end ="")

print (Days.Tue.name)

输出结果

运行上面的代码给我们以下结果-

The enum member as a string is : Days.Mon

he enum member as a repr is :

The type of enum member is :

The name of enum member is : Tue

以迭代方式打印枚举

我们可以将枚举打印为可迭代的列表。在下面的代码中,我们使用一个for循环来打印所有枚举成员。

示例

import enum

# Using enum class create enumerations

class Days(enum.Enum):

   Sun = 1

   Mon = 2

   Tue = 3

# printing all enum members using loop

print ("The enum members are : ")

for weekday in (Days):

   print(weekday)

输出结果

运行上面的代码给我们以下结果-

The enum members are :

Days.Sun

Days.Mon

Days.Tue

散列枚举

枚举中的成员是可哈希的,因此可以在字典和集合中使用它们。在下面的示例中,我们看到哈希在起作用,并检查哈希是否成功。

示例

import enum

# Using enum class create enumerations

class Days(enum.Enum):

   Sun = 1

   Mon = 2

# Hashing to create a dictionary

Daytype = {}

Daytype[Days.Sun] = 'Sun God'

Daytype[Days.Mon] = 'Moon God'

# Checkign if the hashing is successful

print(Daytype =={Days.Sun:'Sun God',Days.Mon:'Moon God'})

输出结果

运行上面的代码给我们以下结果-

True

访问枚举

我们可以使用成员项目的名称或值来访问枚举成员。在下面的示例中,我们首先通过名称访问值,其中我们使用enu的名称作为索引。

示例

import enum

# Using enum class create enumerations

class Days(enum.Enum):

   Sun = 1

   Mon = 2

print('enum member accessed by name: ')

print (Days['Mon'])

print('enum member accessed by Value: ')

print (Days(1))

输出结果

运行上面的代码给我们以下结果-

enum member accessed by name:

Days.Mon

enum member accessed by Value:

Days.Sun

比较枚举

比较枚举是一个漫长的过程,我们使用比较运算符。

示例

import enum

# Using enum class create enumerations

class Days(enum.Enum):

   Sun = 1

   Mon = 2

   Tue = 1

if Days.Sun == Days.Tue:

   print('Match')

if Days.Mon != Days.Tue:

   print('No Match')

输出结果

运行上面的代码给我们以下结果-

Match

No Match

以上是 Python中的枚举enum 的全部内容, 来源链接: utcz.com/z/345659.html

回到顶部