[Python-Dev] PEP 435: initial values must be specified? Yes
Ethan Furman
ethan at stoneleaf.us
Mon May 6 02:03:52 CEST 2013
More information about the Python-Dev mailing list
Mon May 6 02:03:52 CEST 2013
- Previous message: [Python-Dev] PEP 435: initial values must be specified? Yes
- Next message: [Python-Dev] PEP 435: initial values must be specified? Yes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 05/05/2013 04:14 PM, Tim Delaney wrote: > > 1. That the dictionary returned from <enum metaclass>.__prepare__ provide a way to obtain the enum instance names > once it's been populated (e.g. once it's been passed as the classdict to __new__). The reference implementation > provides a _enum_names list attribute. The enum names need to be available to a metaclass subclass before calling > the base metaclass __new__. [...] > My preferred solution is 1 (for the reason mentioned above) but it does not require exposing the metaclass publically > (that's obtainable via type(Enum)). It does require a way to get the enum names before calling the base metaclass > __new__, but that does not necessarily imply that I'm advocating exposing _enum_names (or at least, not directly). > > My preferred way would probably be a note that the dictionary returned from the enum metaclass __prepare__ implements an > enum_names() or maybe __enum_names__() method which returns an iterator over the enum instance names in definition > order. The way this is implemented by the dictionary would be an implementation detail. I like having an __enum_names__() that returns a list or tuple of (name, value) pairs in definition order. -- ~Ethan~
- Previous message: [Python-Dev] PEP 435: initial values must be specified? Yes
- Next message: [Python-Dev] PEP 435: initial values must be specified? Yes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-Dev mailing list