eq注意点
代码块:
class A:
def __eq__(self, other):
print(self)
print(other)
# if self.__dict__ == other.__dict__:
if self == other: # 此处相当于一直在反复的执行 a == b
return True
a = A()
b = A()
# print(a)
# print(b)
print(a == b)
执行结果:
RecursionError: maximum recursion depth exceeded while getting the str of an object
报错问题原因:
eq判断语句中的 self == other 其实就是 a == b,所以在通过self == other语句在反复执行 __eq__函数