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 次瀏覽

開啟你的 職業生涯

完成課程,獲得認證

開始學習
廣告
© . All rights reserved.