Курс Python → Методы __repr__ и __str__ в Python

Метод __repr__ в Python позволяет определять строковое представление объекта, которое предназначено для программиста и удобно при использовании во время отладки. Этот метод возвращает строку, которая должна содержать информацию о состоянии объекта, такую как его тип и значения его атрибутов. Это помогает программисту лучше понять, как устроен объект и что в нем содержится.

С другой стороны, метод __str__ позволяет определять понятное пользователю строковое представление объекта, которое можно отображать в интерфейсе программы. Этот метод используется, когда объект неявно преобразуется в строку, например, при вызове функции print() или при использовании объекта в форматированных строках.

Например, предположим, у нас есть класс Person, который имеет атрибуты name и age. Мы можем определить метод __repr__, который вернет строку с информацией об объекте, и метод __str__, который вернет строку, удобную для отображения пользователю:


class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __repr__(self):
        return f'Person(name={self.name}, age={self.age})'

    def __str__(self):
        return f'{self.name} is {self.age} years old'

Теперь, если мы создадим объект класса Person и выведем его с помощью функции print(), мы увидим результат, определенный методом __str__, а если мы выведем объект напрямую, мы увидим результат, определенный методом __repr__:


person = Person('Alice', 30)
print(person)  # Вывод: Alice is 30 years old
person  # Вывод: Person(name=Alice, age=30)
Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Логические значения в Python
  2. Оператор is в Python
  3. Эффективная конкатенация строк с использованием join()
  4. Применение промокода в Много лосося
  5. Идентификатор объекта в Python
  6. Проверка вхождения подстроки
  7. Аннотации типов в Python
  8. Функция eval() в Python
  9. Циклы в Python
  10. Подсчет частотности элементов в Python
  11. Красивый вывод списка
  12. Работа с *args и **kwargs в Python
  13. Работа с итераторами в Python
  14. Выбор редактора кода.
  15. Регистрация на курсы SF Education
  16. Атрибуты массивов в Numpy
  17. Справка по импортированным модулям
  18. Мониторинг работы программы Py-spy
  19. Docstring в Python
  20. Значения по умолчанию в Python
  21. Удаление элемента из списка в Python
  22. Использование super() в Python
  23. Логирование с Logzero
  24. Замена элементов в списке с помощью генераторов списков
  25. Использование функции product
  26. Перетасовка списков в Python
  27. Форматирование строк с f-строками
  28. Определение индекса элемента списка
  29. Введение в Python
  30. Метод join() для объединения элементов
  31. Поиск HTML-элементов с BeautifulSoup
  32. Установка User-Agent в Python
  33. Преобразование данных в Python
  34. Генерация UUID в Python
  35. Настройка нарезки списков
  36. Оператор обр. импликации
  37. Поиск повторов в списке
  38. Реализация метода __abs__ в Python
  39. Работа с файлами в Python
  40. Метод ne для сравнения объектов
  41. Безопасный доступ к значениям словаря
  42. Сравнение неупорядоченных списков
  43. Поиск частого элемента
  44. Константы в модуле cmath
  45. Хеши в Python
  46. Оптимизация памяти с __slots__
  47. Поиск всех индексов подстроки
  48. JMESPath в Python

Marketello читают маркетологи из крутых компаний