Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Verwendung finden die Methoden super() und __init__() in Python?

Welche Verwendung finden die Methoden super() und __init__() in Python?

silencement
silencementOriginal
2019-05-23 18:22:487537Durchsuche

Die Funktionen der Methoden super() und __init__() in Python: Die Methode __init__() wird zum Erstellen von Instanzvariablen von Objekten verwendet, und die Methode super() wird zum Aufrufen von Methoden der übergeordneten Klasse verwendet.

Welche Verwendung finden die Methoden super() und __init__() in Python?

__init__() wird im Allgemeinen zum Erstellen von Instanzvariablen von Objekten oder für einmalige Operationen verwendet. super() wird zum Aufrufen der Methode der übergeordneten Klasse verwendet und kann zur Lösung des Problems der Mehrfachvererbung verwendet werden. Bei der Einzelvererbung haben super() und __init__() ähnliche Funktionen.

(Empfohlenes Tutorial: Python-Video-Tutorial )

Hauptunterschied:

Die Verwendung der super()-Vererbung erfordert keinen expliziten Verweis auf Basisklasse, die die Wartung erleichtert, wenn sich die übergeordnete Klasse ändert;

super() kann nur in Klassen neuen Stils verwendet werden und muss das Objektobjekt erben. Im Falle einer Mehrfachvererbung ist die Vererbungsreihenfolge betroffen. Der direkte Aufruf der übergeordneten Klassenmethode unter Verwendung des Klassennamens bringt Probleme wie Suchreihenfolge und wiederholte Aufrufe mit sich. super() gibt die nächste Klasse in der Vererbungssequenz zurück, nicht die übergeordnete Klasse.

Die von super() und __init__() in der Einzelvererbung implementierten Funktionen sind ähnlich

Welche Verwendung finden die Methoden super() und __init__() in Python?

Ergebnis:

Welche Verwendung finden die Methoden super() und __init__() in Python?

Der Unterschied besteht darin, dass Sie bei Verwendung der super()-Vererbung nicht explizit auf die Basisklasse verweisen müssen.

Super ist nicht die übergeordnete Klasse, sondern die nächste Klasse in der Vererbungssequenz. Im Falle einer Mehrfachvererbung entspricht die Vererbungsreihenfolge super() der Rückgabe der nächsten Klasse in der Vererbungsreihenfolge, nicht der übergeordneten Klasse

Das obige ist der detaillierte Inhalt vonWelche Verwendung finden die Methoden super() und __init__() in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn