1355 Stimmen

Wie funktioniert Pythons super() bei Mehrfachvererbung?

Wie funktioniert super() mit Mehrfachvererbung arbeiten? Zum Beispiel, gegeben:

class First(object):
    def __init__(self):
        print "first"

class Second(object):
    def __init__(self):
        print "second"

class Third(First, Second):
    def __init__(self):
        super(Third, self).__init__()
        print "that's it"

Welche übergeordnete Methode der Third hace super().__init__ beziehen sich auf? Kann ich mir die Läufe aussuchen?

Ich weiß, dass es etwas mit der Reihenfolge der Methodenauflösung zu tun hat ( MRO ).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X