使用Python验证枚举成员。

11

在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.')
1个回答

13

使用内置的hasattr()函数。hasattr(object, name)函数会返回True,如果object具有一个string属性name,否则返回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.')

输出

Everything is fine and dandy.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接