我是Python面向对象编程的新手。我正在按照这里(向下滚动至运算符重载)的教程进行运算符重载练习,但是我不太理解这段代码。希望有人能详细解释一下,具体来说,我不理解这里是如何将两个对象相加的,以及其中的哪些行代码:
def __str__(self):
return 'Vector (%d, %d)' % (self.a, self.b)
def __add__(self,other):
return Vector(self.a + other.a, self.b + other.b)
你在这里做什么?
#!/usr/bin/python
class Vector:
def __init__(self, a, b):
self.a = a
self.b = b
def __str__(self):
return 'Vector (%d, %d)' % (self.a, self.b)
def __add__(self,other):
return Vector(self.a + other.a, self.b + other.b)
v1 = Vector(2,10)
v2 = Vector(5,-2)
print v1 + v2
这里生成了一个输出向量(7,8)。v1和v2对象是如何相加的呢?