Python提供了内置的enumerate函数,可以把各种迭代器包装成生成器,以便稍后产生输出值,这个生成器每次产生一对输出值,前一个是循环下标,后一个是从迭代器获取到的下一个序列元素。它的作用是允许我们遍历迭代器并自动计数。
定义
- 首先,定义枚举要导入enum模块。
- 枚举定义用class关键字,继承Enum类。
- 用于定义枚举的class和定义类的class是有区别【下一篇博文继续分享】。
示例代码:
from enum import Enum
class Color(Enum): red = 1 orange = 2 yellow = 3 green = 4 blue = 5 indigo = 6 purple = 7
代码分析:
- 上面的代码,定义了颜色的枚举Color.
- 颜色枚举有7个成员,分别是Color.red、Color.orange、Color.yellow等。
- 每一个成员都有它们各自名称和值,Color.red成员的名称是:red,值是:1。
- 每个成员的数据类型就是它所属的枚举。【*注:用class定义的类,实际上就是一种类型】
from enum import Enum,unique @unique class color(Enum): ''' / ''' red=1 red_reia=11 orange=2 yellow=3 green=4 blue=5 indigo=6 purple=7 #print(color(1)) print(color['orange'].value) #co=color['purple'] print('',co.name) print('',co.value) for c in color: print(c,end='') print() print(color.red==color.red_reia) print(color.red is color.red_reia) print(color.red is not color.blue) print(color.red.value<color.blue.value) print(type(color.red.value))
文章来源: python中,枚举