考虑这个简单的类:
class A:
def method(self): pass
def __eq__(self, other): return True
现在,如果我创建该类的两个实例并比较它们的'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__
?