I have an Enum where I would like a default member to be returned when a member does not exist inside of it. For example: class MyEnum(enum.Enum): A = 12 B = 24 CUSTOM = 1 print(MyEnum.UNKNOWN) # Should print MyEnum.CUSTOM I know I can use a metaclass like so: class MyMeta(enum.EnumMeta): def __getitem__(cls, name): try: return super().__getitem__(name) except KeyError as error: return cls.CUSTOM class MyEnum(enum.Enum,metaclass=MyMeta): ... But that appears to only work if I access the Enum using MyEnum['UNKNOWN']. Is there a way that covers both methods of accessing members of an enum when the member doesn't exist? Continue reading...