问题
I have this code which calculates the distance between two coordinates. The two functions are both within the same class.
However how do I call the function distToPoint in the function 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)
...
回答1:
Since these are member functions, call it as a member function on the instance, self.
def isNear(self, p):
self.distToPoint(p)
...
回答2:
That doesn't work because distToPoint is inside your class, so you need to prefix it with the classname if you want to refer to it, like this: classname.distToPoint(self, p). You shouldn't do it like that, though. A better way to do it is to refer to the method directly through the class instance (which is the first argument of a class method), like so: self.distToPoint(p).
来源:https://stackoverflow.com/questions/5615648/python-call-function-within-class