Betrachtet:Python super() Vererbung und benötigten Argumente
class Parent(object):
def altered(self):
print "PARENT altered()"
class Child(Parent):
def altered(self):
print "CHILD, BEFORE PARENT altered()"
super(Child, self).altered() # what are the arguments needed? Why Child and self?
print "CHILD, AFTER PARENT altered()"
In Python 2.7, Warum muss Child
als Argument für den Anruf super()
weitergegeben werden? Was sind die genauen Feinheiten der Verwendung von Super, anstatt es einfach funktionieren zu lassen.
Soweit ich weiß, hat es mit dem MRO zu tun. Aber ich bin nicht gut genug, um es für eine "echte" Antwort zu erklären. Vielleicht hilft das: http://rhettinger.wordpress.com/2011/05/26/super-considered-super/ Beachten Sie, dass die Argumente in Python 3 nicht mehr benötigt werden. –
Also ist das erste Argument "Child" für die Klasse, in der du bist und nicht die, von der du erben willst, da Parent die Basis ist? So etwas nehme ich an. Auch danke für das Lesen und ich benutze Python 2.7 um klar zu sein. Ich werde weiterlesen über super() –