# -*- coding: UTF-8 -*- class A: def __init__(self, name, age): self.name = name self.age = age def __eq__(self, other): print(self, other) a = A("nezha", 18) b = A("nezha", 80) print(a == b) print('------------------') class A: def __init__(self, name, age): self.name = name self.age = age def __eq__(self, other): # if self.name == other.name: if self.__dict__ == other.__dict__: return True else: return False # 名字相等 a = A("nezha", 18) b = A("nezha", 18) c = A("santaizi", 18) print(a == b) print(a == c) """ 当判断两个对象是否相等的时候,正常情况下不定制eq比较的是内存地址 如果重新定制eq,会根据自己定制的条件,来判断是否相等 """