本质上 "==" 调用的内部方法就是 __eq__()
正常情况下,两个名字相同的变量比较的是内存地址,内存地址当然是不一样的
可以使用__eq__来改变成名字相同就相等
1 class A: 2 def __init__(self,name): 3 self.name = name 4 def __eq__(self, other): 5 if self.name == other.name: 6 return True 7 else: 8 return False 9 10 ob1 = A("suyang") 11 ob2 = A("suyang") 12 ob3 = A("sb") 13 print(ob1) # <__main__.A object at 0x000000000256D240> 14 print(ob2) # <__main__.A object at 0x000000000256D278> 15 print(ob1 == ob2) # True