这是我的代码。如何调用Python中的对象内的函数/方法
如何执行print_point行? 编辑工作。谢谢
class Point:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def distance_from_origin(self):
return ((self.x **2) + (self.y **2)) **.5
def print_point(p):
print '(%s, %s)' % (str(p.x), str(p.y))
这是我跑模块后键入入壳:
p = Point(5,2)
p.x
5
p.y
2
p.distance_from_origin()
5.385164807134504
p.print_point(p)
Traceback (most recent call last):
File "<pyshell#196>", line 1, in <module>
p.print_point(p)
TypeError: print_point() takes exactly 1 argument (2 given)
你在'distance_from_origin'中获得了'self',但没有'print_point'。 (另外,检查你的缩进:'def's应该缩进。) –