目前,我有一个枚举来表示名称/数字映射。然而,每个事件类型还有其他“相关属性”(例如状态代码和消息类型)。
class EventType(Enum):
CANCELLED = 0
ONTIME = 1
DELAYED = 2
def get_status(self):
if self == EventType.CANCELLED:
return "statuscode1"
elif self == EventType.DELAYED:
return "statuscode2"
else:
return "statuscode3"
def get_message_type(self):
if self == EventType.CANCELLED:
return "messagetype1"
elif self == EventType.DELAYED:
return "messagetype2"
else:
return "messagetype3"
除了创建上述方法并检查自身的大量if链外,是否有更简洁的重构方法来返回状态代码和消息类型?这就像是CANCELLED = (0, statuscode1, messagetype1)
.. 我该如何在枚举中表示这个概念?枚举甚至是正确的做法吗?
Enum
类型。 - Ethan Furman