Heim > Backend-Entwicklung > Python-Tutorial > Wie rufe ich eine Klassenfunktion von einer anderen innerhalb derselben Klasse in Python auf?

Wie rufe ich eine Klassenfunktion von einer anderen innerhalb derselben Klasse in Python auf?

Susan Sarandon
Freigeben: 2024-12-17 21:29:14
Original
465 Leute haben es durchsucht

How Do I Call One Class Function from Another Within the Same Class in Python?

Aufrufen von Funktionen innerhalb von Klassen: Ein praktischer Ansatz

In der objektorientierten Programmierung kapseln Klassen Daten und Funktionen und organisieren sie in logischen Einheiten. Wenn Sie Operationen an diesen Objekten ausführen müssen, können Sie Mitgliedsfunktionen innerhalb der Klasse definieren. Es ist jedoch nicht immer klar, wie eine Funktion innerhalb einer anderen aufgerufen wird, wenn beide in derselben Klasse definiert sind.

Das Problem:

Betrachten Sie den folgenden Code, der berechnet Abstände zwischen Koordinaten:

class Coordinates:
    def distToPoint(self, p):
        # Calculate distance using Pythagoras' theorem

    def isNear(self, p):
        # How do we call distToPoint from isNear?
Nach dem Login kopieren

In diesem Beispiel möchten wir mithilfe der distToPoint-Funktion ermitteln, ob ein Punkt in der Nähe eines anderen Punkts liegt. Wie rufen wir diese Funktion innerhalb der isNear-Funktion auf?

Die Lösung:

Um eine Mitgliedsfunktion innerhalb derselben Klasse aufzurufen, müssen wir die Instanz von verwenden Klasse (konventionell als self bezeichnet), um auf ihre Methoden zuzugreifen. Die korrigierte isNear-Funktion würde so aussehen:

class Coordinates:
    def distToPoint(self, p):
        # Calculate distance using Pythagoras' theorem

    def isNear(self, p):
        self.distToPoint(p)
        # Continue with other operations
Nach dem Login kopieren

Indem wir self vor distToPoint hinzufügen, geben wir explizit an, dass wir die Mitgliedsfunktion distToPoint für die Instanz self der Coordinates-Klasse aufrufen möchten.

Beispielverwendung:

Um diesen Code zu verwenden, würden Sie eine Instanz der Koordinaten erstellen Klasse und rufen Sie dann die Funktion isNear für diese Instanz auf:

coordinates = Coordinates()
coordinates.isNear(another_point)
Nach dem Login kopieren

Dadurch wird der Abstand zwischen den Koordinaten der Instanz und dem angegebenen another_point mithilfe der Funktion distToPoint berechnet.

Das obige ist der detaillierte Inhalt vonWie rufe ich eine Klassenfunktion von einer anderen innerhalb derselben Klasse in Python auf?. 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