Benjamin musiccomposition at
Tue Mar 4 05:01:33 CET 2008

On Mar 3, 7:12 pm, castiro... at 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:

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
It asks FooMeta to create the class Foo. Metaclasses always extend
type because type is the default metaclass.

More information about the Python-list mailing list