Heim >Backend-Entwicklung >Python-Tutorial >Wie ruft man den Superkonstruktor in Python auf?
In der objektorientierten Programmierung ist es üblich, von Basisklassen zu erben, um deren Funktionalität zu erweitern. In Python ist der Aufruf des Superkonstruktors, der die Basisklasse initialisiert, für eine nahtlose Klassenvererbung von größter Bedeutung.
Während in anderen Sprachen der Superkonstruktor implizit aufgerufen wird, erfordert Python einen expliziten Aufruf. Entgegen der landläufigen Erwartung, dass Super(selbst) ausreichen würde, ist dies nicht der Fall. Lassen Sie uns den richtigen Ansatz untersuchen.
Python 3 führt eine vereinfachte Methode zum Aufrufen des Super-Konstruktors ein:
class A(object): def __init__(self): print("world") class B(A): def __init__(self): print("hello") super().__init__() # Python 3 syntax
Hier folgt super() von __init__() ruft explizit den Super-Konstruktor auf.
In Python 2 ist eine etwas ausführlichere Syntax erforderlich:
class A(object): def __init__(self): print "world" class B(A): def __init__(self): print "hello" super(B, self).__init__() # Python 2 syntax
Hier wird super der Klassenname B und self übergeben, um auf die aktuelle Instanz zu verweisen.
Das Beherrschen des richtigen Aufrufs des Superkonstruktors ist in Python von entscheidender Bedeutung. Wenn Sie den Unterschied zwischen der Syntax in Python 2 und 3 verstehen, stellen Sie eine nahtlose Vererbung sicher und verhindern unerwartetes Verhalten in Ihrem Code.
Das obige ist der detaillierte Inhalt vonWie ruft man den Superkonstruktor in Python auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!