Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich übergeordnete Klassenmethoden in Python aufrufen?

Wie kann ich übergeordnete Klassenmethoden in Python aufrufen?

Susan Sarandon
Freigeben: 2024-11-28 04:46:14
Original
544 Leute haben es durchsucht

How Can I Call Parent Class Methods in Python?

Aufrufen von übergeordneten Klassenmethoden in Python

Bei der Arbeit mit Objekthierarchien in Python kann es erforderlich sein, Methoden aus einer übergeordneten Klasse darin aufzurufen eine Kinderklasse. Im Gegensatz zu Perl oder Java, wo für diesen Zweck spezielle Schlüsselwörter existieren, erfordert Python die Verwendung expliziter Verweise auf übergeordnete Klassen.

Im bereitgestellten Beispiel ist der Code mit Foo::frotz() nicht ideal, da er untergeordnete Klassen erzwingt Klassen, um zu wissen, welche Klasse geerbte Methoden definiert hat, was zu Informationsabhängigkeiten und potenziellen Problemen beim Erstellen tiefer Hierarchien führt.

Um dieses Problem zu beheben, bietet Python die Funktion super(). Mit super() können Sie auf übergeordnete Klassenmethoden einer untergeordneten Klasse zugreifen und diese aufrufen, ohne den Namen der übergeordneten Klasse explizit anzugeben.

Für Python 3 und höher können Sie einfach Folgendes verwenden:

class Foo(Bar):
    def baz(self, **kwargs):
        return super().baz(**kwargs)
Nach dem Login kopieren

Für Python 2 müssen Sie Klassen neuen Stils und explizit aktivieren verwenden:

class Foo(Bar):
    def baz(self, arg):
        return super(Foo, self).baz(arg)
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich übergeordnete Klassenmethoden in Python aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage