在Python中,我有一个输入(下面称为input_var),我想根据枚举验证(下面称为Color).以下方式是推荐的Pythonic方法吗?
from enum import Enum
class Color(Enum):
red = 1
blue = 2
input_var = 'red'
if input_var in Color.__members__:
print('Everything is fine and dandy.')
Run Code Online (Sandbox Code Playgroud)
使用内置hasattr()功能.hasattr(object, name)返回True如果string name是的属性object,否则返回False.
演示
from enum import Enum
class Color(Enum):
red = 1
blue = 2
input_var = 'red'
if hasattr(Color, input_var):
print('Everything is fine and dandy.')
Run Code Online (Sandbox Code Playgroud)
产量
Everything is fine and dandy.
Run Code Online (Sandbox Code Playgroud)