类中的Python调用函数

时间:2011-04-11 00:20:08

标签: python class function call

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

但是,如何在函数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)
        ...

2 个答案:

答案 0 :(得分:309)

由于这些是成员函数,因此将其称为实例self上的成员函数。

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

答案 1 :(得分:36)

这不起作用,因为distToPoint位于您的类中,因此如果要引用它,则需要在其前面加上前缀,如下所示:classname.distToPoint(self, p)。不过,你不应该这样做。更好的方法是直接通过类实例(这是类方法的第一个参数)引用该方法,如下所示:self.distToPoint(p)