Python枚举类

Python枚举类教程

Python 可通过 继承 Enum 类来实现 枚举

Python使用Enum列出多个枚举实现枚举详解

语法

import enum print("嗨客网(www.haicoder.net)") # 定义Day枚举类 class Day(enum.Enum): Mon = '星期一' Tue = '星期二' Wed = '星期三' Thur = '星期四' Fri = '星期五' Sat = '星期六' Sun = '星期日' print("Mon =", Day.Mon) print("MonName =", Day.Mon.name) print("MonValue =", Day.Mon.value)

说明

定义了一个类 Day,该类继承自 enum.Enum,接着,我们在该类里面定义了七个枚举值。

最后,我们可以直接使用枚举名访问枚举成员,还可以使用枚举的 name 属性访问枚举名以及使用枚举的 value 属性访问枚举值。

案例

使用 Enum 包实现枚举

使用 Enum 包实现枚举,并访问枚举成员

import enum print("嗨客网(www.haicoder.net)") # 定义Day枚举类 class Day(enum.Enum): Mon = '星期一' Tue = '星期二' Wed = '星期三' Thur = '星期四' Fri = '星期五' Sat = '星期六' Sun = '星期日' def info(self): print('今天是' % self.value) print("Mon =", Day.Mon) print("MonName =", Day.Mon.name) print("MonValue =", Day.Mon.value) print("Sun =", Day.Sun) print("SunName =", Day.Sun.name) print("SunValue =", Day.Sun.value)

程序运行后,控制台输出如下:

107_python枚举.png

我们直接使用 enum.Enum 定义了一个 Day 枚举,该枚举有七个成员,我们可以直接使用枚举名访问枚举成员,同时,我们还可以使用枚举的 name 属性访问枚举名,使用枚举的 value 属性访问枚举值。

使用 Enum 变量名访问枚举

还可以使用枚举变量名来访问枚举成员

import enum print("嗨客网(www.haicoder.net)") # 定义Day枚举类 class Day(enum.Enum): Mon = '星期一' Tue = '星期二' Wed = '星期三' Thur = '星期四' Fri = '星期五' Sat = '星期六' Sun = '星期日' def info(self): print('今天是' % self.value) print("Mon =", Day['Mon']) print("MonName =", Day['Mon'].name) print("MonValue =", Day['Mon'].value)

程序运行后,控制台输出如下:

108_python枚举.png

我们直接使用 enum.Enum 定义了一个 Day 枚举,并且使用枚举名加枚举值的形式来访问枚举。

遍历枚举

使用 for 循环遍历枚举的所有成员

import enum print("嗨客网(www.haicoder.net)") # 定义Day枚举类 class Day(enum.Enum): Mon = '星期一' Tue = '星期二' Wed = '星期三' Thur = '星期四' Fri = '星期五' Sat = '星期六' Sun = '星期日' def info(self): print('今天是', self.value) Day.Mon.info() Day.Thur.info() Day.Sun.info() for name, member in Day.__members__.items(): print(name, '->', member, ',', member.value)

程序运行后,控制台输出如下:

109_python枚举.png

使用 for 循环 遍历枚举名的 memebers 成员,从而获取所有的枚举成员。