前言
你是否还用老土的方式使用枚举,像这样,这样,或者是这样......
# 像这样
class Color:
Red=0
Green=1
# 或者这样
class Color:
Red=0
Green=1
keys = ['Red','Green']
items= {
'Red':0,
'Green':1
}
# 像这样校验数据
if _ in Color.keys:
# 有效值
else:
# 无效值
# 像这样转换数据
color_type = Color.items[key]
这意味着,你将增加很多很多的相同数据,来表述枚举的不同应用场景,当项目中多大几十种或者进百个枚举时,隔夜饭都要吐出来了。如果击中了你的痛点,那么这篇文章你值得浏览,它将是你摆脱这种痛苦。
新潮流
废话不罗嗦,直接上代码,下面这短短40几行的代码将,永远为你创造一个干净的枚举环境
from enum import Enum
class BaseEnum(Enum):
@classmethod
def has_key(cls,name):
"""
判断枚举名称是否存在
:param name:str 枚举的名称
:return 有效返回true,否则返回false
"""
return name in cls._m