I'm fairly new when it comes to metaclass programming and therefore the question whether the following makes sense or not.
The goal is to have two additional class properties which return a dictionary name:class_attribute and value:class_attribute for an IntEnum class and after reading about it I came to the conclusion that the following code might do what I want, and it does do the job BUT does it make sense also? Meaning, my ultimate goal would be to be able to decide myself if this is a good or bad idea doing this, so what do I need to read/understand in order to achieve such a goal. from enum import EnumMeta, IntEnum class EnhancedIntEnum(EnumMeta): @property def names(cls): return {k: v for k, v in cls.__members__.items()} @property def values(cls): return {v.value: v for k, v in cls.__members__.items()} class Ordinal(IntEnum, metaclass=EnhancedIntEnum): NORTH = 0 SOUTH = 1 EAST = 2 WEST = 3 print(Ordinal.names) print(Ordinal.values) Thank you Eren -- https://mail.python.org/mailman/listinfo/python-list