python 重载加减运算符
时间: 2023-09-21 17:10:51 浏览: 81
在Python中,可以使用特殊方法来重载加减运算符。这些方法包括:
1. __add__(self, other):重载加法运算符“+”,用于实现两个对象相加的操作。
2. __sub__(self, other):重载减法运算符“-”,用于实现两个对象相减的操作。
例如,我们可以定义一个名为“Vector”的类,用于表示二维向量,重载其加减运算符:
```python
class Vector:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, other):
return Vector(self.x + other.x, self.y + other.y)
def __sub__(self, other):
return Vector(self.x - other.x, self.y - other.y)
v1 = Vector(1, 2)
v2 = Vector(3, 4)
v3 = v1 + v2 # 这里会调用 __add__ 方法
v4 = v3 - v1 # 这里会调用 __sub__ 方法
print(v3.x, v3.y) # 输出 4 6
print(v4.x, v4.y) # 输出 3 4
```
在上面的代码中,我们定义了一个“Vector”类,并实现了它的构造函数、加法和减法运算符的重载。在创建对象“v1”和“v2”后,我们可以使用“+”运算符将它们相加,并将结果赋值给“v3”。同样地,我们也可以使用“-”运算符将“v3”和“v1”相减,并将结果赋值给“v4”。最后,我们输出“v3”和“v4”的坐标值。
阅读全文