我非常困惑这两者是如何工作的。有人可以帮助我理解发生了什么事以及为什么它打印“BAD”和“值不存在”?
from enum import Enum
class EventType(Enum):
USER_LOGIN = 1,
USER_LOGOUT = 2,
@classmethod
def has_value(cls, value):
return value in cls._value2member_map_
eventType = 2
if not EventType.has_value(eventType):
print("BAD")
else:
print("GOOD")
if eventType in EventType.__members__.values():
print("Value exists")
else:
print("Value does not exist")
正如 @msanford 在评论中所说,删除值中的尾随逗号——它们正在创建元组。