如何在Python中通过动态传递“枚举成员名称”来获取“值”?

Vij*_*jah 5 python enums python-2.7 python-3.x

如何在Python中通过动态传递“枚举成员名称”来获取“值”?

举个例子,考虑下面的枚举

import enum 
class Animal(enum.Enum): 
    DOG = "This is Dog"
    CAT = "This is cat"
    LION = "This is Lion"
Run Code Online (Sandbox Code Playgroud)

我想编写一个如下所示的通用函数,它必须返回This is Dog.

def get_enum_value("DOG"):
    #
    # SOME CODE HERE TO GET THE VALUE FOR THE GIVEN (METHOD ARGUMENT) ENUM PROPERTY NAME 
    #
Run Code Online (Sandbox Code Playgroud)

Vij*_*jah 5

简化且完整的代码:

## Enum definition
import enum 
class Animal(enum.Enum): 
    DOG = "This is Dog"
    CAT = "This is cat"
    LION = "This is Lion"


## method to return enum value when pass the enum member name
def get_enum_member_value(enum_member_name):
    enum_member_value = Animal[enum_member_name].value
    return enum_member_value


## execute the method and print the value     
print(get_enum_member_value("DOG"))
Run Code Online (Sandbox Code Playgroud)