python 类的比较重载
时间: 2023-10-13 22:20:08 浏览: 154
在Python中,可以通过重载比较运算符来实现类的比较。以下是常用的比较运算符和对应的方法:
1. ==:__eq__(self, other)方法,用于判断两个对象是否相等。
2. !=:__ne__(self, other)方法,用于判断两个对象是否不相等。
3. <:__lt__(self, other)方法,用于判断一个对象是否小于另一个对象。
4. >:__gt__(self, other)方法,用于判断一个对象是否大于另一个对象。
5. <=:__le__(self, other)方法,用于判断一个对象是否小于等于另一个对象。
6. >=:__ge__(self, other)方法,用于判断一个对象是否大于等于另一个对象。
例如,下面是一个自定义的类,重载了上述比较运算符:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __eq__(self, other):
return self.age == other.age
def __lt__(self, other):
return self.age < other.age
def __le__(self, other):
return self.age <= other.age
def __gt__(self, other):
return self.age > other.age
def __ge__(self, other):
return self.age >= other.age
```
这样,我们就可以使用比较运算符对该类的实例进行比较了:
```python
p1 = Person("Alice", 20)
p2 = Person("Bob", 25)
print(p1 == p2) # False
print(p1 != p2) # True
print(p1 < p2) # True
print(p1 <= p2) # True
print(p1 > p2) # False
print(p1 >= p2) # False
```
阅读全文