클래스 내 함수 호출: 실용적인 접근 방식
객체 지향 프로그래밍에서 클래스는 데이터와 기능을 캡슐화하여 논리적 엔터티로 구성합니다. 이러한 개체에 대해 작업을 수행해야 하는 경우 클래스 내에서 멤버 함수를 정의할 수 있습니다. 그러나 둘 다 동일한 클래스에 정의된 경우 다른 함수 내에서 하나의 함수를 호출하는 방법이 항상 명확하지는 않습니다.
문제:
다음을 계산하는 코드를 고려하세요. 좌표 간 거리:
class Coordinates: def distToPoint(self, p): # Calculate distance using Pythagoras' theorem def isNear(self, p): # How do we call distToPoint from isNear?
이 예에서는 다음을 사용하여 점이 다른 점 근처에 있는지 확인하려고 합니다. distToPoint 함수. isNear 함수 내에서 이 함수를 어떻게 호출합니까?
해결책:
동일한 클래스 내에서 멤버 함수를 호출하려면 클래스(관례적으로 self라고 함)를 사용하여 해당 메서드에 액세스합니다. 수정된 isNear 함수는 다음과 같습니다.
class Coordinates: def distToPoint(self, p): # Calculate distance using Pythagoras' theorem def isNear(self, p): self.distToPoint(p) # Continue with other operations
distToPoint 앞에 self를 추가하면 Coordinates 클래스의 self 인스턴스에서 distToPoint 멤버 함수를 호출하려는 것을 명시적으로 나타냅니다.
사용 예:
이 코드를 사용하려면 Coordinates 클래스의 인스턴스를 생성한 다음 해당 인스턴스에서 isNear 함수를 호출합니다.
coordinates = Coordinates() coordinates.isNear(another_point)
이렇게 하면 distToPoint 함수를 사용하여 인스턴스의 좌표와 지정된 another_point 사이의 거리가 계산됩니다.
위 내용은 Python의 동일한 클래스 내에서 다른 클래스 함수를 어떻게 호출합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!