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)

更新于: 2020-01-30

362 次浏览

开启你的 职业生涯

完成课程,获得认证

开始学习
广告