Python super()-Funktion
Beschreibung
super()Die Funktion wird verwendet, um eine Methode der Elternklasse (Superklasse) aufzurufen.
super()Sie wird verwendet, um Probleme bei Mehrfachvererbung zu lösen. Das direkte Aufrufen einer Methode der Elternklasse mit dem Klassennamen ist bei Einfachvererbung in Ordnung, aber bei Mehrfachvererbung bringt es verschiedene Probleme mit sich, wie Method Resolution Order (MRO), wiederholte Aufrufe (Diamantvererbung) usw.
MRO ist die Method-Resolution-Order-Tabelle einer Klasse, die eigentlich die Reihenfolgetabelle ist, die beim Vererben von Methoden der Elternklasse verwendet wird.
Syntax
Das Folgende ist die Syntax der super()-Methode:
super(type[, object-or-type])
Parameters
- type -- Klasse.
- object-or-type -- Klasse, normalerweise self
Ein Unterschied zwischen Python3.x und Python2.x ist: Python 3 kann direktsuper().xxxanstelle vonsuper(Class, self).xxx verwenden :
Python3.x-Beispiel:
Python2.x-Beispiel:
Rückgabewert
Keine.
Beispiel
Das Folgende zeigt ein Beispiel für die Verwendung der super-Funktion:
Beispiel
Ausführungsergebnis:
Parent Child HelloWorld from Parent Child bar fuction I'm the parent.Andere Erweiterungen
Python Built-in-Funktionen