Курс 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. Ключевое слово global в Python
  3. Метод __index__ в Python
  4. Ускоренный импорт библиотек
  5. Метод join() для объединения элементов строки
  6. Объявление переменных в Python
  7. Colorama: окрашивание текста в Python
  8. Область видимости переменных
  9. Модуль os: работа с файлами и папками
  10. Создание вложенных циклов for
  11. Каналы Senior: Python, Java, Frontend, SQL, C++
  12. Установка Python3.7 и PIP
  13. Выражения-генераторы в Python
  14. Управление памятью в Python
  15. Нахождение хеша для бесконечности и NaN в Python
  16. Экспорт функций в Python
  17. Проекты на Python
  18. Solidity для DeFi Ethereum
  19. inspect в Python: анализ кода
  20. Генератор списка с условием if
  21. PUT запрос для обновления данных
  22. Декораторы в Python
  23. Логирование в Python
  24. Python: динамическая типизация и проверка типов
  25. Псевдонимы в Python
  26. Отладка утечек памяти в Python
  27. Работа со строками в Python
  28. Измерение времени выполнения в Python
  29. Экспорт внешнего файла с помощью writefile
  30. Разница между датами
  31. Библиотека wikipedia для Python
  32. Функция divmod() в Python
  33. Сортировка данных в Python
  34. Преобразование в float
  35. Удаление дубликатов из списка
  36. Установка переменной среды в Python
  37. Работа с GitHub в Telegram
  38. Атрибуты массивов в Numpy
  39. Функция print() — вывод информации
  40. Область видимости переменных
  41. Работа с индексами списков

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