[Python-Dev] PEP 435 -- Adding an Enum type to the Python standard library

MRAB python at mrabarnett.plus.com
Fri Apr 26 17:41:18 CEST 2013


On 26/04/2013 06:21, Ethan Furman wrote:
> On 04/25/2013 08:14 PM, Greg wrote:
>> On 26/04/2013 1:28 p.m., Ethan Furman wrote:
>>> Interesting idea, but why does Day(3) have to be disallowed to make it
>>> work?
>>
>> Because it's ambiguous. Which day of the week is number 3? It
>> depends on where you start.
>
> Ah.
>
>
>> I should perhaps point out that the numbers assigned to the
>> values initially are just to establish the relative ordering.
>> They wouldn't be directly accessible once the values are
>> created. To get an integer value corresponding to a Day value,
>> you would have to do arithmetic:
>>
>>     Day.wednesday - Day.sunday --> 3
>
> That would make it very hard to do data storage and retrieval.
>
I think that if the definition of Day says wednesday = 3 then Day(3)
should return Day.wednesday, but if it's a circular enum then <, etc,
should be disallowed.



More information about the Python-Dev mailing list