Heim >Backend-Entwicklung >Python-Tutorial >Wie rufe ich eine Klassenfunktion korrekt aus einer anderen Klassenfunktion heraus auf?
Funktionen innerhalb einer Klasse aufrufen
Bei der Arbeit mit objektorientierter Programmierung müssen Sie möglicherweise Funktionen innerhalb einer Klasse aufrufen. Ein häufiges Szenario besteht darin, zwei Funktionen innerhalb derselben Klasse zu definieren und eine Funktion aus einer anderen heraus aufzurufen. Dieser Artikel führt Sie durch den Prozess des Aufrufs einer Funktion innerhalb einer Klasse.
In diesem Beispiel haben wir eine Klasse namens Coordinates mit zwei Funktionen: distToPoint und isNear. Die distToPoint-Funktion berechnet den Abstand zwischen zwei Koordinaten, während die isNear-Funktion anhand der berechneten Entfernung prüft, ob ein Punkt in der Nähe eines anderen Punkts liegt.
Der ursprünglich bereitgestellte Code:
class Coordinates: def distToPoint(self, p): """ Use pythagoras to find distance (a^2 = b^2 + c^2) """ ... def isNear(self, p): distToPoint(self, p) ...
Hier Code auftritt, tritt beim Versuch, die distToPoint-Funktion innerhalb der isNear-Funktion aufzurufen, ein Fehler auf. Um eine Funktion innerhalb einer Klasse korrekt aufzurufen, muss sie als Mitgliedsfunktion auf der Instanz (Selbst) aufgerufen werden. Der folgende Code zeigt die korrigierte Version:
class Coordinates: def distToPoint(self, p): """ Use pythagoras to find distance (a^2 = b^2 + c^2) """ ... def isNear(self, p): self.distToPoint(p) ...
Durch die Verwendung von self.distToPoint(p) innerhalb der isNear-Funktion wird die distToPoint-Funktion korrekt als Mitgliedsfunktion für die aktuelle Instanz der Coordinates-Klasse aufgerufen.
Das obige ist der detaillierte Inhalt vonWie rufe ich eine Klassenfunktion korrekt aus einer anderen Klassenfunktion heraus auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!