[Python-Dev] Enumeration items: mixed types?
Ethan Furman
ethan at stoneleaf.us
Tue Apr 30 17:58:02 CEST 2013
On 04/29/2013 05:38 PM, Greg Ewing wrote:
> Ethan Furman wrote:
>> I suppose the other option is to have `.value` be whatever was assigned (1, 'really big country', and (8273.199, 517) ),
>
> I thought that was the intention all along, and that we'd
> given up on the idea of auto-assigning integer values
> (because it would require either new syntax or extremely
> dark magic).
Not that dark, actually -- just a little dim. ;)
I just had it stuck in my head that every enum item would have an integer associated with it, and possibly have another
value as well.
So, for example:
--> class Constants(float, Enum):
... e = 2.81843 # am I close?
... pi = 3.141596
... tau = 2 * pi
I cannot do
--> Constants(2)
and get pi. I have to do
--> Constants(3.141596)
and given the nature of floating point I can see that failing at some, er, point.
Likewise, if I have normal, but jumbled, Enum:
--> class Jumble(Enum):
... eggs = 1
... method = 'scramble'
... cost = 2.5
then to get method back I have to use
--> Jumble('scramble')
It just seems odd to me. Oh, and it would seem just as odd using __getitem__. ;)
--
~Ethan~
More information about the Python-Dev
mailing list