__eq__
, __lt__
и др. не реализуйте сравнения в Python, они просто позволяют переопределить it.
Справочник по языку Python говорит:
Большинство других объектов встроенных типов сравниваются неравно, если они не являются одним и тем же объектом;выбор, считать ли один объект меньшим или большим, чем другой, сделан произвольно, но последовательно в течение одного выполнения программы.
Возможно, это делается путем сравнения идентификаторов объектов, но это не определяетсяязык.
Я не уверен, в чем причина создания любого объекта, сравнимого с любым другим объектом, но это встроенная функция языка - ссылка упоминает, что делает любой список сортируемым, чтооблегчает определение сравнения двух словарей.