I find the “non-member attributes” phrase very confusing. On the one hand, enum classes are made of attributes, some of which are members, and the others are not; on the other hand, the attributes that are not members are typically attributes of the members:
Planet.SATURN.mass
or (from the new chapter)
class Pet(Enum):
genus: str
species: str
I would say that genus
and species
are actually member-attributes, as they won’t be available directly from Pet
(at least from what we see in the snippet).
I don’t know if there’s a good solution to this confusion.