Python枚举_value2member_map_访问器?

Toa*_*ter 6 python python-2.7

我创建了一个枚举基类,以标准化对简单枚举的反向查找。

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]
Run Code Online (Sandbox Code Playgroud)

是否有正式的方法可以使您_value2member_map_下达命令?(或者有没有我错过的标准方法?)

谢谢!

Eth*_*man 8

通过名称和值都支持获取成员:

from enum import Enum

class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3
Run Code Online (Sandbox Code Playgroud)
>>> Color['RED']    # note square brackets
<Color.RED: 1>

>>> Color(1)
<Color.RED: 1>      # note round parenthesis
Run Code Online (Sandbox Code Playgroud)