4
こんにちは私は対称演算子をPythonでオーバーライドする方法があるのだろうかと思っていました。 Pythonのcommutative operator override
a = A(1)
a + 1
しかし、私はしようとした場合::その後、私は行うことができます
class A:
def __init__(self, value):
self.value = value
def __add__(self, other):
if isinstance(other, self.__class__):
return self.value + other.value
else:
return self.value + other
:たとえば、のは、私はクラスを持っているとしましょう
1 + a
私はエラーを取得します。 オペレータを無効にする方法はありますかを追加すると1 + aが機能しますか?
あなたができないことの1つは 'int____ add__ = something'です。これは読み取り専用です。 –
これは、intのadd演算子をオーバーライドする方法です。私はそれをしたくありません。私は自分のクラスを拡大したいだけです。 –