制限されたスコープでオブジェクト間のカスタム比較を行う必要があります。オペレーターを汚染せずにそれを行う方法はありますか?たとえば、後で以前のeqを復元しますか?
class Test():
def __eq__(self, i):
print "eq lvl 1"
def test(a , b):
def _itest(i):
print "eq lvl 2"
>>> a = Test()
>>> b = Test()
>>> a == b
eq lvl 1
>>> test(a, b)
>>> a == b
Traceback (most recent call last):
File "<console>", line 1, in <module>
TypeError: _itest() takes exactly 1 argument (2 given)
私がそうしているのは、特定の条件が与えられた場合、eq演算子を劣化させる必要があるためです。
注:ステートメント__eq__
を使用するためにオーバーライドしたい。in