枚举在应用中的重要性
最近在重构一部分别人的代码时候发现,很多应用中的常量都是写到了数据库中,然后在代码中获取对应的值来判断各种状态值以及属性,这就导致了在排查的问题时,需要不停地针对代码中的各种状态值,再去看下数据库具体代表了什么状态,影响排查的进度,也给后续的开发造成了困难
枚举
代表了一系列常量的集合
python中的枚举
python在3.4版本中加入了
enum
标准库
enum 提供了 Enum/IntEnum/unique 三个工具,可以通过继承 Enum/IntEnum 定义枚举类型,其中 IntEnum 限定枚举成员必须为(或可以转化为)整数类型,而 unique 方法可以作为修饰器限定枚举成员的值不可重复
1 | from enum import Enum, IntEnum, unique |
更为重要的是python中的枚举,所有的对象都是单例模式,无法实例,无法更改,只能将对象赋值给变量
1 | from enum import IntEnum |
更多的学习
如果对python中的元类和单例有深入学习的想法,查看
Enum
的源码是最快的方式