Курс 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. Проверка типов с помощью isinstance
  2. Работа с комплексными числами
  3. Форматирование строк в Python
  4. Упрощение условных выражений с тернарным оператором
  5. Генераторы списков в Python
  6. Подписка на @SelectelNews
  7. Pretty-printing JSON в Python
  8. Модуль os в Python: работа с файлами
  9. Удаление элементов из списка в Python.
  10. Функция enumerate() в Python
  11. Работа с файлами в Python
  12. Срезы в Numpy
  13. Фильтрация данных в Python.
  14. Antigravity модуль
  15. Операции с комплексными числами
  16. Сравнение неупорядоченных списков
  17. Установка и использование howdoi
  18. Принципы Zen Python
  19. Подсчет элементов в Python
  20. Преобразование строк в числа с плавающей запятой
  21. Проверка типа объекта в Python
  22. Метод gt в Python
  23. Измерение времени выполнения в Python
  24. Списковое включение в Python
  25. Инверсия списков и строк в Python
  26. Манипуляция формой массива в Numpy
  27. Работа с комплексными числами
  28. Переопределение метода __rshift__
  29. Условные выражения в Python
  30. Работа с путями в Python
  31. Капитализация строк
  32. Работа с модулем random
  33. Переворот строки
  34. Объявление переменных в Python
  35. Асинхронное выполнение задач в Python
  36. Работа с геоданными с помощью geopy
  37. Открытие, чтение и закрытие файла
  38. Big O оптимизация
  39. Передача аргументов через **arguments
  40. Удаление элементов во время итерации
  41. Модуль pprint
  42. Работа с итераторами в Python
  43. Конкатенация строк с методом join()
  44. Преобразование объекта в строку
  45. Создание словарей с defaultdict()
  46. Профилирование кода

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