Как объяснить __lt__ и сортировка объектов?
Что хотят услышать интервьюеры:
Ответ для уровня Middle: объяснение должно включать не только что такое __lt__ и сортировка объектов, но и когда его использовать, когда не использовать и как проверить корректность.
Ответ:
Ситуация: нужно спроектировать класс, DTO, доменную модель или расширить поведение объекта без хака. В такой ситуации нужно найти источник проблемы, измерить эффект и выбрать минимально достаточное решение.
Сравнение: важно отличать __lt__ и сортировка объектов от key-function, потому что у них разные цели и trade-off.
Пример:
class User:<br>
def __init__(self, name):<br>
self.name = name<br>
def __repr__(self):<br>
return f"User({
self.name!r
}
)" Хороший ответ: звучит через практику: ограничение, пример, типичная ошибка, тест или production-последствие.