Упрощение создания операторов сравненияДля создания объектов с поддержкой операторов сравнения в классе обычно требуется реализовать большое количество магических методов, а именно – __lt__
, __le__
, __eq__
, __ne__
, __gt__, __ge__.
Про то, что делает каждый из них расскажем отдельным постом, но сейчас покажем, как можно сильно упростить реализацию подобного класса. Для этого можно использовать декоратор total_ordering из пакета functools.
В таком случае достаточно реализовать в классе только __lt__ и __eq__. Эти два метода являются минимумом, который нужен декоратору для конструирования остальных методов.
#классы