枚举类型,到底需要不需要?
Python 2.x 中是没有原生的枚举类型的,可能有些人觉得这不算个事,他们使用类,字典,或者元组来封装成枚举类型,但是这样做,一来不方便,二来稍显别扭,三是拓展性还不好。
我觉得枚举类型还是要有的,有些场景下,定义一个枚举类,就是很方便,看着也舒服自然。
Python 2.x,Python 3.x 中如何使用枚举
Python 2.x 中需要安装一个第三方包(pip install enum34
)。
然后使用
import enum
class BugStatus(enum.Enum):
new = 7
incomplete = 6
invalid = 5
wont_fix = 4
in_progress = 3
fix_committed = 2
fix_released = 1
Python 3.x 中已经内置了这个包,只需要从标注库中导入就可以了。
import enum
class BugStatus(enum.Enum):
new = 7
incomplete = 6
invalid = 5
wont_fix = 4
in_progress = 3
fix_committed = 2
fix_released = 1
至此,我们就可以愉快地使用枚举来封装我们的逻辑了,确实是方便不少,也很自然。