私は以下の方法でPythonで単純な演算子のオーバーロードを行うことができます。複数のオペランドを使った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個のオペランドで実現する最適なソリューションは何ですか?
なぜ_temporarily_に合計する方法がわかりませんか?私にとって適切な解決策のように見えます。 –
は一時的に間違った単語かもしれませんが、これは特定の操作の問題を修正しますが、必要な操作をすべて実装していないと、一般的には奇妙な結果になります。 –
ありがとうございました。私は、単にa1 + a2 + a3を与えるだけで結果を得たいと考えていました。 –