[Python-Dev] PyPy, Jython, & IronPython: Enum convenience function and pickleablity
ncoghlan at gmail.com
Sat May 4 03:59:13 CEST 2013
On 4 May 2013 05:17, "Georg Brandl" <g.brandl at gmx.net> wrote:
> Am 03.05.2013 11:40, schrieb Steven D'Aprano:
> > On 03/05/13 18:42, Antoine Pitrou wrote:
> >> Le Fri, 3 May 2013 09:14:22 +1000, Nick Coghlan <ncoghlan at gmail.com> a
> >> écrit :
> >>> I would suggest moving the field names into the class header for a
> >>> based convenience API:
> >>> class Animal(Enum, members='cat dog'): pass
> >> This looks good to me (assuming some people don't like the special
> >> attribute scheme).
> > The problem is that this is not an expression, it is a statement. The
> > advantage of the convenience function is not just that it is shorter,
> > that it is an expression.
> But using that expression in any form other than
> NAME = Enum('NAME', ...)
> will again result in an unpicklable enum, which was the point of this
Right, if all we want is a functional API that doesn't support pickling of
the resulting class, that's trivial.
What I'm after is a convenience API that supports *autonumbering*, as a
trivial replacement for code that currently uses "range(n)". A class
statement is perfectly acceptable to me for that purpose.
Independently of that, I do like the notion of a "types.set_name(cls,
dotted_name)" API that alters __name__ and __module__, while leaving
> Python-Dev mailing list
> Python-Dev at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-Dev