Metaklasse funktioniert nicht!
Verfasst: Dienstag 10. Januar 2006, 23:39
Hey Amigos, wie geht's?
liefert nurWie ließe sich das Problem beheben? Ich habe auch schon eine Reihe weiterere Metaklassen probiert, aber bisher war noch keine einzige in der Lage, funktionstüchtige Klassenobjekte zu erstellen.
Gruß,
/dev
Code: Alles auswählen
class Meta(type):
def __new__(cls,name,bases,d):
print 'Meta.__new__ called!'
return super(Meta,cls).__new__(name,bases,d)
def __init__(self,name, bases, d):
print 'Meta.__init__ called!'
super(Meta,self).__init__(name,bases,d)
def __call__(self,*args):
print 'Meta.__call__ called!'
return super(Meta,self).__call__(*args)
class Foo:
__metaclass__=Meta
Code: Alles auswählen
Meta.__new__ called!
Traceback (most recent call last):
File "<pyshell#3>", line 1, in -toplevel-
class Foo:
File "<pyshell#0>", line 4, in __new__
return super(Meta,cls).__new__(name,bases,d)
TypeError: Error when calling the metaclass bases
type.__new__(X): X is not a type object (str)
Gruß,
/dev