枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期、月份、状态等。
Python 的原生类型(Built-in types)里并没有专门的枚举类型,但是我们可以通过很多方法来实现它,例如字典、类等:
MiracleLove = {'MON': '林志玲', 'TUS': '陈意涵', 'WEN': '张柏芝', 'THU': '辛芷蕾', 'FRI': '周冬雨'}
class MiracleLove:
MON = '林志玲'
TUS = '陈意涵'
WEN = '张柏芝'
THU = '辛芷蕾'
FRI = '周冬雨'
上面两种方法可以看做是简单的枚举类型的实现。
如果只在局部范围内用到了这样的枚举变量是没有问题的。
但问题在于它们都是可变的(mutable),也就是说可以在其它地方被修改从而影响其正常使用:
在学习过程中有什么不懂得可以加我的
python学习交流扣扣qun,784758214
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容
MiracleLove['MON'] = MiracleLove['FRI']
print(MiracleLove)
通过类定义的枚举甚至可以实例化,变得不伦不类:
ml = MiracleLove()
print(m