В Python 3.4 есть новый тип данных Enum , который вы можете использовать как:
class EventType(Enum):
def __init__(self, id, code, message):
self.id = id
self.code = code
self.message = message
CANCELLED = 1, 'code1', 'message1'
ONTIME = 2, 'code2', 'message2'
DELAYED = 3, 'code3', 'message3
Для использования просто:
EventType.CANCELLED.code # returns 'message1'
Если это только тот случай использования, который вы описали, вы также можете использовать именованный кортеж, если хотите:
from collections import namedtuple
Event = namedtuple('event', ['id', 'code', 'message'])
class EventType:
CANCELLED = Event(1, 'code1', 'message1')
ONTIME = Event(2, 'code2', 'message2')
DELAYED = Event(3, 'code3', 'message3')
Для использования этого:
EventType.CANCELLED # return event(id=1, code='code1', message='message1')
EventType.CANCELLED.message # return message1