Выбор ответа Junior ООП и dataclasses обновлено

__repr__ и __str__

Вопрос

Что используется при выводе объекта внутри списка: print([user])?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: repr объекта. Контейнеры в своём строковом представлении вызывают repr у элементов, даже когда сам список печатается через str.

Варианты ответа

  1. __str__ объекта
  2. __format__ объекта
  3. Имя класса и адрес всегда, без пользовательских методов
  4. __repr__ объектаправильный ответ

Разбор

Контейнеры в своём строковом представлении вызывают repr у элементов, даже когда сам список печатается через str. Поэтому __repr__ стоит определять всегда: он виден в отладчике, логах и коллекциях. __str__ вызывается для print(user) и str(user), а если его нет, используется __repr__. __format__ нужен f-строкам со спецификатором.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме