Курс 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. Проверка версии Python
  3. Отделение звука от видео
  4. Работа с модулем Calendar
  5. Получение частей дроби
  6. Бесконечная проверка в Python
  7. Отрицательные индексы списков
  8. Строковое представление объектов
  9. Команда %dhist — список посещенных каталогов
  10. Функции с дополнением
  11. Библиотека Emoji: использование смайлов в Python
  12. Возврат нескольких значений из функции
  13. Синхронизация доступа к ресурсам
  14. Регистрация на хакатоне
  15. Измерение времени выполнения кода
  16. Принципы Zen of Python
  17. Получение текущей даты и времени с помощью datetime
  18. Группы исключений в Python
  19. Работа с JSON в Python
  20. Python: Splat-оператор и splatty-splat
  21. Работа с файлами в Python
  22. Возврат нескольких значений
  23. Работа с типами данных в Python с помощью pydantic.
  24. Удаление знаков препинания в Python
  25. Преобразование чисел в Python
  26. Декодирование байтов в строку
  27. Обязательные аргументы в Python
  28. Передача аргументов через **arguments
  29. Функция reduce() из модуля functools
  30. Работа с OpenCV
  31. Удаление элемента по индексу в Python
  32. Функция map() в Python
  33. Работа с парами ключ-значение
  34. Список импортированных модулей в Python
  35. Поиск индекса элемента
  36. Виртуальное окружение Python
  37. Сравнение def и lambda функций в Python
  38. Установка пакетов с помощью pip
  39. Работа с zip-архивами в Python
  40. Функция enumerate() — Python
  41. Итерация по коллекции в Python
  42. Объединение списков в Python.
  43. Очистка вывода в Python
  44. Кортеж в Python: создание и использование
  45. Основы работы с os
  46. Обход словаря в Python
  47. Удаление элементов во время итерации

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