[Python-Dev] PEP 435 - requesting pronouncement
Philip Jenvey
pjenvey at underboss.org
Sun May 5 18:50:14 CEST 2013
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
More information about the Python-Dev
mailing list