首页 > 解决方案 > 类实例的 Python 相等性

问题描述

我试图了解如何检查类实例的相等性。

假设我有一堂课如下:

class Car(object):
    def __init__(self):
        self._color = None

我实例化两个对象如下:

car1 = Car()
car1._color = 'red'
car2 = Car()
car2._color = 'red'

这两个对象具有完全相同的属性,我天真地认为:

print(car1 == car2)

会打印 True ,但事实并非如此。

这里发生了什么?

我确实找到了检查平等的解决方案:

print(car1.__dict__ == car2.__dict__)

确实打印 True。

这实际上是最简单的事情吗?

标签: python

解决方案


推荐阅读