Курс 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"
- Вызов функций по строке в Python.
- Ключевое слово global в Python
- Метод __index__ в Python
- Ускоренный импорт библиотек
- Метод join() для объединения элементов строки
- Объявление переменных в Python
- Colorama: окрашивание текста в Python
- Область видимости переменных
- Модуль os: работа с файлами и папками
- Создание вложенных циклов for
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Установка Python3.7 и PIP
- Выражения-генераторы в Python
- Управление памятью в Python
- Нахождение хеша для бесконечности и NaN в Python
- Экспорт функций в Python
- Проекты на Python
- Solidity для DeFi Ethereum
- inspect в Python: анализ кода
- Генератор списка с условием if
- PUT запрос для обновления данных
- Декораторы в Python
- Логирование в Python
- Python: динамическая типизация и проверка типов
- Псевдонимы в Python
- Отладка утечек памяти в Python
- Работа со строками в Python
- Измерение времени выполнения в Python
- Экспорт внешнего файла с помощью writefile
- Разница между датами
- Библиотека wikipedia для Python
- Функция divmod() в Python
- Сортировка данных в Python
- Преобразование в float
- Удаление дубликатов из списка
- Установка переменной среды в Python
- Работа с GitHub в Telegram
- Атрибуты массивов в Numpy
- Функция print() — вывод информации
- Область видимости переменных
- Работа с индексами списков















