我有这段代码来计算两个坐标之间的距离。这两个函数都在同一个类中。

然而,我如何调用函数disttoppoint在函数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)
        ...

这是行不通的,因为disttoppoint在你的类中,所以如果你想引用它,你需要用类名作为它的前缀,比如:classname。disttoppoint (self, p)。但是你不应该这样做。更好的方法是通过类实例(类方法的第一个参数)直接引用方法,如:self.distToPoint(p)。


因为这些是成员函数,所以在实例self上将其作为成员函数调用。

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