我们如何对具有多个操作数的 Python 运算符进行重载?


与二元操作符一样,你可以对具有多个操作数的 Python 运算符进行重载。例如,如果你要对一个类的 + 运算符进行重载,则需要执行以下操作——

示例

class Complex(object):
   def __init__(self, real, imag):
      self.real = real
      self.imag = imag
   def __add__(self, other):
      real = self.real + other.real
      imag = self.imag + other.imag
      return Complex(real, imag)
   def display(self):
      print(str(self.real) + " + " + str(self.imag) + "i")

      a = Complex(10, 5)
      b = Complex(5, 10)
      c = Complex(2, 2)
      d = a + b + c
      d.display()

输出

这将给出输出——

17 + 17i

更新时间:2020 年 3 月 5 日

271 次浏览

开启你的 职业生涯

完成课程并获得认证

开始
广告