包含签入Enum值

时间:2019-06-24 14:40:38

标签: python python-3.x

如何包含对Enum值的检查?

class MyEnum(Enum):
    foo = 'FOO'
    bar = 'BAR'

我已经尝试过:

'zzz' in  class.__members__.values()

你能指点我吗?

2 个答案:

答案 0 :(得分:3)

您可以获取Enum的所有值的集合,并使用in成员资格操作进行检查

enum_values = {e.value for e in MyEnum}
print('FOO' in enum_values)
print('zzz' in enum_values)

输出将为

True
False

答案 1 :(得分:0)

您可以像这样列出并检查值:

def checkIfValueContainsInEnum(value):
    enumValues = [item.value for item in MyEnum]  # [4, 5, 6]
    if value in enumValues:
        return True
    else:
        return False