On Mar 3, 10:01 pm, Benjamin <[EMAIL PROTECTED]> wrote: > On Mar 3, 7:12 pm, [EMAIL PROTECTED] wrote: > > > What are metaclasses? > > Depends on whether you want to be confused or not. If you do, look at > this old but still head bursting > essay:http://www.python.org/doc/essays/metaclasses/. > > Basically, the metaclass of a (new-style) class is responsible for > creating the class. This means when Python sees > class Foo(object): > __metaclass__ = FooMeta > class FooMeta(type): > def __new__(cls, name, bases, dct): > #do something cool to the class > pass > It asks FooMeta to create the class Foo. Metaclasses always extend > type because type is the default metaclass.
But you can stack class decorations, but not class metas. @somethingcool1 @somethingcool2 class Foo: pass * class Foo: __metaclass__= MetaCool1, MetaCool * denotes malformed -- http://mail.python.org/mailman/listinfo/python-list