두 좌표 사이의 거리를 계산하는이 코드가 있습니다. 두 함수는 모두 같은 클래스 내에 있습니다.
그러나 함수 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)
.