On May 5, 2013, at 6:44 AM, Ethan Furman wrote:

> On 05/05/2013 03:05 AM, Antoine Pitrou wrote:
>> I still would like to see Nick's class-based API preferred over the
>> functional API:
>> 
>>    class Season(Enum, members='spring summer autumn'):
>>       pass
>> 
>> The PEP doesn't even mention it, even though you got significant
>> pushback on the proposed _getframe() hack for pickling (including
>> mentions that IronPython and Cython may not support it), and nobody
>> seemed to be unhappy with the class-based proposal.

+1

> 
> Agreed that the PEP should mention it.
> 
> -1 on using it.
> 
> We don't need two different ways to use class syntax.
> 
> The functional interface is there for two reasons:
> 
>  - to easily create enums dynamically (fairly rare, I'm sure)
> 
>  - to easily create enums when prototyping or at the interactive prompt (I'll 
> use it all the time -- it's convenient! ;)

I don't understand, the class based API is perfectly fine for prototyping in 
the repl.

For dynamic creation, the class API always provides a functional API for free:

import types
types.new_class('Season', (Enum,), dict(values='spring summer autumn'))

It's not convenient, but that doesn't matter because this usage is rare anyway. 
Certainly much rarer than declarations of auto-numbered enums.

--
Philip Jenvey
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to