enum模块: python enum模块提供了枚举功能。有些编程语言是内置了枚举类型,但python没有内置,只是用enum模块里的Enum类来实现类似功能。
如果不使用枚举,我们一般会采用定义常量的方式来处理。比如下面代码:
RED, GREEN, YELLOW = range(3)
下面演示了一个常见的enum类的创建:
from enum import Enum
class Day(Enum):
MONDAY = 1
TUESDAY = 2
WEDNESDAY = 3
THURSDAY = 4
FRIDAY = 5
SATURDAY = 6
SUNDAY = 7
print(list(Day))
# [<Day.MONDAY: 1>, <Day.TUESDAY: 2>, <Day.WEDNESDAY: 3>, <Day.THURSDAY: 4>, <Day.FRIDAY: 5>, <Day.SATURDAY: 6>, <Day.SUNDAY: 7>]
print(type(Day)) # <class 'enum.EnumType'>
print(type(Day.MONDAY)) # <enum 'Day'>
print(Day.MONDAY) # Day.MONDAY
枚举类型是单例模式,类中的每个成员都是该枚举类的一个实例。枚举类一旦创建,其成员将不可变。包括不能增加或减少,也不能重新赋值。
Day.MONDAY = 0
这样的代码会报错。
还可以像下面这样简单的对其成员赋值,一旦类创建好后,这些类成员就是这个类的实例。
from enum import Enum
class Season(Enum):
WINTER, SPRING, SUMMER, FALL = range(1, 5)
标签:enum,MONDAY,Enum,枚举,模块,print,Day
From: https://www.cnblogs.com/rolandhe/p/18666081