On 4 May 2013 05:17, "Georg Brandl" <g.bra...@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 <ncogh...@gmail.com> a
> >> écrit :
> >
> >>> I would suggest moving the field names into the class header for a
class
> >>> 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,
but
> > 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
thread.

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
__qualname__ alone.

Cheers,
Nick.

>
> Georg
>
> _______________________________________________
> 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/ncoghlan%40gmail.com
_______________________________________________
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