Python 中的操作符重载
假设你创建了一个 Vector 类来表示二维向量,当使用加号运算符对它们进行加法运算时会发生什么?Python 很可能会报错。
然而,你可以定义类中的 __add__ 方法来执行向量加法,然后加号运算符的行为将符合预期 −
示例
#!/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
输出
执行以上代码后,将生成以下结果 −
Vector(7,8)
广告