Heim  >  Artikel  >  Backend-Entwicklung  >  Einführung in Python-Funktionen: Funktionen und Beispiele für Superfunktionen

Einführung in Python-Funktionen: Funktionen und Beispiele für Superfunktionen

WBOY
WBOYOriginal
2023-11-04 16:27:261025Durchsuche

Einführung in Python-Funktionen: Funktionen und Beispiele für Superfunktionen

Einführung in Python-Funktionen: Funktionen und Beispiele der Superfunktion

Die super()-Funktion ist eine häufig verwendete integrierte Funktion in Python, die hauptsächlich zum Aufrufen von Methoden der übergeordneten Klasse (Superklasse) verwendet wird. Verwenden Sie die Funktion super(), um Methoden, die in der übergeordneten Klasse überschrieben wurden, in der Unterklasse aufzurufen. In diesem Artikel werden die Funktionen und Beispiele der Superfunktion ausführlich vorgestellt und außerdem spezifische Codebeispiele als Referenz bereitgestellt.

  1. Funktion der Superfunktion

In Python müssen wir häufig einige Methoden der übergeordneten Klasse in der Unterklasse neu schreiben. Wenn wir in diesem Fall die ursprüngliche Methode der übergeordneten Klasse in der Unterklasse aufrufen möchten, müssen wir die Funktion super() verwenden. Mit der Funktion super() können die folgenden Funktionen erreicht werden:

(1) Rufen Sie Methoden in der übergeordneten Klasse auf, anstatt sie in der Unterklasse neu zu schreiben.

(2) Vermeiden Sie unendliche Probleme, die durch die Vererbungsbeziehung der Unterklasse verursacht werden. Rekursionsproblem;

(3) Sie können Methoden ausführen, die nicht in der übergeordneten Klasse definiert sind.

  1. Verwendung der Superfunktion

Die Super()-Funktion kann auf zwei Arten verwendet werden: Eine besteht darin, sie direkt aufzurufen, die andere darin, sie mit zwei Parametern aufzurufen.

(1) Direkter Aufruf

Wenn Sie die Funktion super() direkt aufrufen, müssen Sie die Unterklasse und die Unterklasseninstanz als Parameter angeben. Zum Beispiel:

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

class Student(Person):
    def __init__(self, name, age, grade):
        super().__init__(name, age)
        self.grade = grade

Im obigen Code überschreibt die Student-Klasse die __init__-Methode der Person-Klasse. Durch die Verwendung der Funktion super() können wir die Methode __init__ der übergeordneten Klasse einfach aufrufen und so Coderedundanz und die Möglichkeit von Fehlern vermeiden.

(2) Aufruf mit zwei Parametern

Wenn Sie eine Nicht-Konstruktor-Methode (z. B. eine normale Methode) der übergeordneten Klasse aufrufen möchten, müssen Sie die Funktion super() mit zwei Parametern aufrufen. Zum Beispiel:

class Person:
    def say_hello(self):
        print("Hello, I'm a person.")

class Student(Person):
    def say_hello(self):
        super(Student, self).say_hello()
        print("I'm a student.")

Im obigen Code überschreibt die Student-Klasse die say_hello-Methode der Person-Klasse. Wenn Sie die Funktion super() verwenden, müssen Sie zwei Parameter angeben: Der erste Parameter ist der Name der Unterklasse und der zweite Parameter ist die Instanz der Unterklasse. Auf diese Weise können die Methoden der übergeordneten Klasse in der Unterklasse aufgerufen werden, wodurch die Möglichkeit von Coderedundanz und Fehlern vermieden wird.

  1. Beispiele für die Funktion super

Um die Verwendung der Funktion super() besser zu verstehen und zu beherrschen, werden im Folgenden einige spezifische Codebeispiele bereitgestellt.

(1) Rufen Sie die __init__-Methode der übergeordneten Klasse auf

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

class Student(Person):
    def __init__(self, name, age, grade):
        super().__init__(name, age)
        self.grade = grade

    def get_info(self):
        print("Name: {} Age: {} Grade: {}".format(self.name, self.age, self.grade))

student = Student("Lucy", 18, "Grade 10")
student.get_info()

In diesem Beispiel definieren wir eine Person-Klasse und eine Student-Klasse. In der __init__-Methode der Student-Klasse rufen wir die __init__-Methode der übergeordneten Klasse Person auf. Diese Funktion kann einfach mit der Funktion super() erreicht werden. Abschließend werden die Informationen des Schülers durch Aufruf der Methode get_info ausgegeben.

(2) Rufen Sie die gewöhnliche Methode der übergeordneten Klasse auf

class Person:
    def say_hello(self):
        print("Hello, I'm a person.")

class Student(Person):
    def say_hello(self):
        super(Student, self).say_hello()
        print("I'm a student.")

student = Student()
student.say_hello()

In diesem Beispiel definieren wir eine Person-Klasse und eine Student-Klasse. In der Student-Klasse überschreiben wir die Methode say_hello der Klasse Person und verwenden die Funktion super(), um die Methode say_hello der übergeordneten Klasse Person aufzurufen. Abschließend wird die Begrüßung des Schülers durch Aufruf der Methode say_hello ausgegeben.

  1. Zusammenfassung

Super()-Funktion ist eine häufig verwendete integrierte Funktion in Python, die hauptsächlich zum Aufrufen von übergeordneten Klassenmethoden verwendet wird. Durch die Verwendung der super()-Funktion können wir Coderedundanz und die Möglichkeit von Fehlern vermeiden. Wenn wir die Methoden der übergeordneten Klasse in einer Unterklasse überschreiben, können wir mit der Funktion super() die Methoden der übergeordneten Klasse einfacher aufrufen. Gleichzeitig sollten wir auch beachten, dass bei Verwendung der Funktion super() die spezifischen Werte der beiden Parameter angegeben werden müssen, um unendliche Rekursionsprobleme zu vermeiden, die durch Vererbungsbeziehungen verursacht werden.

Das obige ist der detaillierte Inhalt vonEinführung in Python-Funktionen: Funktionen und Beispiele für Superfunktionen. 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