我创建了一个枚举基类来标准化简单枚举的反向查找。
from enum import Enum
class ReversibleEnum(Enum):
@classmethod
def fromName(cls, str):
return getattr(cls, str.lower())
@classmethod
def fromValue(cls, value):
return cls._value2member_map_[value]
有没有官方的方法可以掌握_value2member_map_
字典?(或者有没有我错过的标准方法?
谢谢!
按名称和值都支持获取成员:
from enum import Enum
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
>>> Color['RED'] # note square brackets
<Color.RED: 1>
>>> Color(1)
<Color.RED: 1> # note round parenthesis