在 Python 中, 下面是一个简单的例子,演示了 在这个例子中, 这种方法的实现允许你在自定义类中定义对象之间的加法行为,使得类的实例可以通过 1.本公众号以对话系统为中心,专注于Python/C++/CUDA、ML/DL/RL和NLP/KG/DS/LLM领域的技术分享。 NLP工程化(公众号)
NLP工程化(知识星球)
__add__()
是一个特殊方法(magic method),用于定义对象之间的加法操作。当你使用 +
运算符对两个对象进行相加时,实际上会调用对象的 __add__()
方法。__add__()
的用法:class ComplexNumber:
def __init__(self, real, imag):
self.real = real
self.imag = imag
def __add__(self, other):
# 实现两个复数相加的逻辑
if isinstance(other, ComplexNumber):
real_sum = self.real + other.real
imag_sum = self.imag + other.imag
return 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
对象。+
运算符进行自然的相加操作。
NLP工程化
2.本公众号Roadmap可查看飞书文档:https://z0yrmerhgi8.feishu.cn/wiki/Zpewwe2T2iCQfwkSyMOcgwdInhf