如何在类中调用函数?

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

然而,如何在函数isNear中调用函数distToPoint ?

class Coordinates:
def distToPoint(self, p):
"""
Use pythagoras to find distance
(a^2 = b^2 + c^2)
"""
...


def isNear(self, p):
distToPoint(self, p)
...
671249 次浏览

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

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

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