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