[Python-Dev] PEP 435: initial values must be specified? Yes
Greg Ewing
greg.ewing at canterbury.ac.nz
Mon May 6 01:57:13 CEST 2013
Ethan Furman wrote:
> --> class Color(Enum):
> ... red, green, blue
> ...
>
> --> class MoreColor(Color):
> ... red, orange, yellow
> ...
>
> --> type(MoreColor.red) is MoreColor
> False
This argument no longer applies, since we're not
allowing enums to be extended.
> class Color(Enum):
> red = e()
> green = e()
> blue = e()
>
> and you can keep using `e()` for all your enumerations, since you don't
> care what actual value each enumeration member happens to get.
I don't think it's true that people wanting auto-numbering
don't care what values they get. Rather, they probably want
ordinal values assigned separately and consecutively for
each type, as in every other language I'm aware of that
provides auto-numbered enums.
If you *really* don't care what the values are, there's no
need for the items to have values at all.
--
Greg
More information about the Python-Dev
mailing list