python如何像java一样重写equals方法?
时间: 2023-11-16 15:16:52 浏览: 226
重写equals方法
在 Python 中,你可以通过实现对象的 `__eq__()` 方法来达到重写 `equals()` 方法的目的。`__eq__()` 方法接受另一个对象作为参数,并返回一个布尔值,表示当前对象是否等于另一个对象。
例如,假设你有一个 `Person` 类,它有两个属性 `name` 和 `age`,你可以像下面这样实现 `__eq__()` 方法来比较两个 `Person` 对象是否相等:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __eq__(self, other):
if isinstance(other, Person):
return self.name == other.name and self.age == other.age
return False
```
在这个例子中,我们首先检查传入的另一个对象是否是 `Person` 类型的。如果是,我们比较两个对象的 `name` 和 `age` 属性是否相等。如果不是,我们返回 `False` 表示两个对象不相等。
这样,你就可以像 Java 中那样重写 `equals()` 方法了。
阅读全文