我知道我可以通过以下方式在python中进行简单的运算符重载。
假设重载'+‘运算符。
class A(object):
def __init__(self,value):
self.value = value
def __add__(self,other):
return self.value + other.value
a1 = A(10)
a2 = A(20)
print a1 + a2但当我尝试执行以下操作时,它会失败,
a1 = A(10)
a2 = A(20)
a3 = A(30)
print a1 + a2 + a3因为__add__只接受2个参数。用n个操作数实现操作符重载的最佳解决方案是什么?
发布于 2016-09-15 22:10:21
问题是
a1 + a2 + a3给了30 + a3
30是一个整型数,整型数不知道如何与A相加
您应该在__add__函数中返回A的一个实例
https://stackoverflow.com/questions/39513191
复制相似问题