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)
简化且完整的代码:
## 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)