programing

클래스 내의 함수를 호출하려면 어떻게 해야 합니까?

sourcetip 2023. 1. 10. 21:38
반응형

클래스 내의 함수를 호출하려면 어떻게 해야 합니까?

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

단, 함수는 어떻게 호출해야 합니까?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).

언급URL : https://stackoverflow.com/questions/5615648/how-can-i-call-a-function-within-a-class

반응형