以下是代码:
class foo:
def __init__(self,p1,p2):
self.a1 = p1
self.a2 = p2
def main():
o1=foo("lucy","jack")
o2=foo('lucy','jack')
print(o1==o2)
main()
我知道o1和o2是不同的对象。令我困惑的是,它们具有相同的价值,对吧?并且" =="用于检查两个对象是否具有相同的值,对吧?我在这里错过了什么吗?
答案 0 :(得分:1)
您需要实施自定义ungroup()
:
__eq__
答案 1 :(得分:1)
当python不知道如何比较对象时 - 它会检查你是否正在处理同一个实例。这与is
运算符的作用相同。
如果要覆盖python比较对象的方式 - 您需要在类中定义__eq__
方法。
有关详细信息,请参阅the docs
答案 2 :(得分:1)
如果要将相等的对象定义为具有所有相同实例变量的对象,那么编写代码来测试每个变量就更容易了:
handleFiltering