私はオーバーライドする__add__
方法について知っているプラス、私は= +オーバーライドするためにそれを使用する場合、私は2つの問題のいずれかで終わる:Pythonで+ =オーバーロードする方法はありますか?
z = x + y
その後、
(1)__add__
は自己を変異させる場合
は、実際にはxをそこで変異させたくないときにxを変異させます。 __add__
が新しいオブジェクトを返す場合z += x
後の異なるオブジェクトにz及びTMPポイントが実行されるため
(2)、次いで
tmp = z
z += x
z += y
tmp += w
return z
は、Wせず何かを返します。
.append()
メソッドを作成できますが、可能であれば+=
をオーバーロードすることをお勧めします。
RTFMは絶滅危惧種であるプログラマ。 – tzot
ところで、あなたはF'ing M.を見ています;-) –
JoshはPythonのマニュアル作成者の一人であることを暗示していますか?申し訳ありませんが、私はあなたが何を意味するかわからない、@ BobStein-VisiBone。 – tzot