Hier ist eine Python-Sitzung.
>>> class Z(type):
def __new__(cls, name, bases, attrs):
print cls
print name
return type(name, bases, attrs)
...
>>> class Y(object):
__metaclass__ = Z
...
<class '__main__.Z'>
Y
>>> class X(Y):
... pass
...
>>> class W(Y):
... __metaclass__ = Z
...
<class '__main__.Z'>
W
>>>
Nachdem ich die Klasse X definiert habe, erwarte ich, dass Z._new__ für sie aufgerufen wird und die zwei Zeilen gedruckt werden, was nicht geschieht (da Metaklasse vererbt werden?)