#it s python 3.2.3
class point:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, point):
self.x += point.x
self.y += point.y
return self
def __repr__(self):
return point(%s, %s) % (self.x, self.y)
class Test:
def __init__(self):
self.test1 = [point(0, i) for i in range(-1, -5, -1)]
self.test2 = [point(i, 0) for i in range(-1, -5, -1)]
print( %s
+
%s
=
%s % (self.test1[0], self.test2[0], self.test1[0] + self.test2[0]))
test = Test()
input()
此程序的输出为
point(-1, -1)
+
point(-1, 0)
=
point(-1, -1)
但它应该是
point(-1, -1)
+
point(-1, 0)
=
point(-2, -1)
但如果我这样做
print(point(-1, -1) + point(-1, 0))
工作很顺利
我想知道为什么 以及如何解决这个问题
对不起,如果我的英语不好:)