python实现__eq
时间: 2023-10-22 20:06:51 浏览: 121
__eq__是Python中的一个特殊方法(也称为魔术方法),用于定义对象之间的相等性比较。它的作用类似于Java中的equals方法。
在Python中,我们可以通过在类中定义__eq__方法来自定义对象之间的相等性比较。该方法接受一个参数,即要比较的对象,然后返回一个布尔值,表示两个对象是否相等。
下面是一个示例代码,演示了如何在Python中实现__eq__方法:
```
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __eq__(self, other):
if isinstance(other, Point):
return self.x == other.x and self.y == other.y
return False
p1 = Point(2, 3)
p2 = Point(2, 3)
p3 = Point(4, 5)
print(p1 == p2) # True
print(p1 == p3) # False
```
在上面的示例中,我们定义了一个Point类,并在该类中实现了__eq__方法。该方法首先检查要比较的对象是否是Point对象,然后比较它们的x和y属性是否相等。如果是,则返回True,否则返回False。
我们创建了两个Point对象p1和p2,它们的x和y属性都相等,因此p1 == p2返回True。另外,我们创建了另一个Point对象p3,它的x和y属性与p1不同,因此p1 == p3返回False。
阅读全文