[python] 클래스 내의 파이썬 호출 함수

두 좌표 사이의 거리를 계산하는이 코드가 있습니다. 두 함수는 모두 같은 클래스 내에 있습니다.

그러나 함수 distToPoint에서 함수 를 어떻게 호출 isNear합니까?

class Coordinates:
    def distToPoint(self, p):
        """
        Use pythagoras to find distance
        (a^2 = b^2 + c^2)
        """
        ...

    def isNear(self, p):
        distToPoint(self, p)
        ...



답변

이들은 멤버 함수이므로 인스턴스에서 멤버 함수로 호출하십시오 self.

def isNear(self, p):
    self.distToPoint(p)
    ...


답변

distToPoint클래스 내부에 있기 때문에 작동하지 않으므로 다음과 같이 클래스 이름을 참조하려면 클래스 이름을 접두어로 사용해야합니다 classname.distToPoint(self, p). 그래도 그렇게해서는 안됩니다. 더 좋은 방법은 다음과 같이 클래스 인스턴스 (클래스 메소드의 첫 번째 인수)를 통해 메소드를 직접 참조하는 것입니다 self.distToPoint(p).


답변