Эти методы определяют поведение объектов при сравнении. Они называются "богатыми методами сравнения" (rich comparison methods).
__eq__(self, other)
: Определяет поведение оператора ==
(равенство). Возвращает True
, если объекты равны, иначе False
.__ne__(self, other)
: Определяет поведение оператора !=
(неравенство). По умолчанию, если определен __eq__
, то __ne__
является его логическим отрицанием.__lt__(self, other)
: Определяет поведение оператора <
(меньше). Возвращает True
, если self
меньше other
, иначе False
.__le__(self, other)
: Определяет поведение оператора <=
(меньше или равно). По умолчанию, если определены __lt__
или __eq__
, может быть автоматически вычислен.__gt__(self, other)
: Определяет поведение оператора >
(больше). Возвращает True
, если self
больше other
, иначе False
.__ge__(self, other)
: Определяет поведение оператора >=
(больше или равно). По умолчанию, если определены __gt__
или __eq__
, может быть автоматически вычислен.Определение этих методов в пользовательских классах позволяет сравнивать экземпляры класса с помощью стандартных операторов сравнения.
Пример использования:
python
Эти методы определяют поведение объектов при сравнении. Они называются "богатыми методами сравнения" (rich comparison methods).
__eq__(self, other)
: Определяет поведение оператора ==
(равенство). Возвращает True
, если объекты равны, иначе False
.__ne__(self, other)
: Определяет поведение оператора !=
(неравенство). По умолчанию, если определен __eq__
, то __ne__
является его логическим отрицанием.__lt__(self, other)
: Определяет поведение оператора <
(меньше). Возвращает True
, если self
меньше other
, иначе False
.__le__(self, other)
: Определяет поведение оператора <=
(меньше или равно). По умолчанию, если определены __lt__
или __eq__
, может быть автоматически вычислен.__gt__(self, other)
: Определяет поведение оператора >
(больше). Возвращает True
, если self
больше other
, иначе False
.__ge__(self, other)
: Определяет поведение оператора >=
(больше или равно). По умолчанию, если определены __gt__
или __eq__
, может быть автоматически вычислен.Определение этих методов в пользовательских классах позволяет сравнивать экземпляры класса с помощью стандартных операторов сравнения.
Пример использования:
python
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.