Нужный набор специальных методов зависит от поведения класса: создание, представление, сравнение, итерация или управление контекстом. Реализовывать все методы подряд не нужно.
Какие магические методы Python должны учитываться?
Нужный набор специальных методов зависит от поведения класса: создание, представление, сравнение, итерация или управление контекстом. Реализовывать все методы подряд не нужно.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Нужный набор специальных методов зависит от поведения класса: создание, представление, сравнение, итерация или управление контекстом. Реализовывать все методы подряд не нужно.
Типичные примеры: init и new, repr, eq и hash, iter и next, enter и exit, getitem. Они связывают объект с протоколами языка.
Если речь о ключе словаря, важны согласованность eq и hash и стабильность хеша. Для декоратора-объекта может потребоваться call. Без более узкого контекста корректнее назвать группы методов и уточнить требуемое поведение.