On Sat, 26 Mar 2005 22:49:33 +0100, Eric Nieuwland <[EMAIL PROTECTED]> wrote:
>On 26 mrt 2005, at 21:36, Josiah Carlson wrote:
> > Eric Nieuwland <[EMAIL PROTECTED]> wrote:
> >> Given the ideas so far, would it possible to:
> >>
> >> def meta(cls):
> >>    ...
> >>
> >> @meta
> >> class X(...):
> >>    ...
> >
> > It is not implemented in Python 2.4.  From what I understand, making it
> > happen in Python 2.5 would not be terribly difficult.  The question is
> > about a "compelling use case".  Is there a use where this syntax is
> > significantly better, easier, etc., than an equivalent metaclass?  
> > Would
> > people use the above syntax if it were available?
> >
> > What would you use the above syntax to do?
> 
> Well, I can imagine using
> 
> @meta(MyMetaClass)
> class MyClass(...):
>       ...
> 
> instead of
> 
> class MyClass(...):
>       __metaclass__ = MyMetaClass
>       ...
> 
> Somehow, it seems more aesthetic to me.

  This doesn't quite work the same, though.  The former creates a new instance 
of ClassType, then (presumably) rips it apart and passes the pieces to 
MyMetaClass.

  The latter just passes the pieces to MyMetaClass unassembled.

  I can imagine cases where the class creation would fail during the first step 
of the former process, so I don't think this is actually a use-case for class 
decorators.

  Jp
_______________________________________________
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