Heim >Backend-Entwicklung >Python-Tutorial >Wie rufe ich eine Klassenfunktion korrekt aus einer anderen Klassenfunktion heraus auf?

Wie rufe ich eine Klassenfunktion korrekt aus einer anderen Klassenfunktion heraus auf?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-17 00:31:24692Durchsuche

How to Correctly Call a Class Function from Within Another Class Function?

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!

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