在 Python 中,__add__()
是一个特殊方法(magic method),用于定义对象之间的加法操作。当你使用 +
运算符对两个对象进行相加时,实际上会调用对象的 __add__()
方法。
下面是一个简单的例子,演示了 __add__()
的用法:
class ComplexNumber:def __init__(self, real, imag):self.real = realself.imag = imagdef __add__(self, other):# 实现两个复数相加的逻辑if isinstance(other, ComplexNumber):real_sum = self.real + other.realimag_sum = self.imag + other.imagreturn ComplexNumber(real_sum, imag_sum)else:raise TypeError("Unsupported operand type. Must be a ComplexNumber.")def __repr__(self):return f"ComplexNumber({self.real}, {self.imag})"# 创建两个复数对象
c1 = ComplexNumber(1, 2)
c2 = ComplexNumber(3, 4)# 使用加法运算符相加两个对象
result = c1 + c2# 输出结果
print(result) # 输出 ComplexNumber(4, 6)
在这个例子中,ComplexNumber
类实现了 __add__()
方法,使得两个 ComplexNumber
对象可以使用 +
运算符相加。在 __add__()
方法中,我们对两个复数的实部和虚部分别相加,然后返回一个新的 ComplexNumber
对象。
这种方法的实现允许你在自定义类中定义对象之间的加法行为,使得类的实例可以通过 +
运算符进行自然的相加操作。