Метод __lt__ в ООП в Python
Объекты можно сравнивать операторами
<, > и другими, если
в классе задан порядок. Для оператора
< используют специальный метод
__lt__.
Пусть у нас есть класс Employee
с зарплатой сотрудника:
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
Сделаем так, чтобы сотрудники сравнивались
по зарплате. Реализуем метод __lt__:
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
def __lt__(self, other):
return self.salary < other.salary
Проверим:
emp1 = Employee('john', 1000)
emp2 = Employee('smit', 2000)
print(emp1 < emp2) # выведет True
print(emp1 > emp2) # выведет False
Сделайте класс User с именем
и возрастом. Реализуйте метод __lt__,
чтобы пользователи сравнивались по возрасту.