5

この単純なクラスを考えてみましょう:

class A:
    def method(self): pass
    def __eq__(self, other): return True

クラスの 2 つのインスタンスを作成してそれらの'method'属性を比較すると、Python 3.7 と 3.8 で異なる結果が得られます。

meth1 = A().method
meth2 = A().method
print(meth1 == meth2)  # True in 3.7, False in 3.8

何が起きてる?メソッドが 3.7 では同じなのに 3.8 では同じでないのはなぜですか? そして、これは何と関係があり__eq__ますか?

4

1 に答える 1