Курс 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
- Проверка версии Python
- Отделение звука от видео
- Работа с модулем Calendar
- Получение частей дроби
- Бесконечная проверка в Python
- Отрицательные индексы списков
- Строковое представление объектов
- Команда %dhist — список посещенных каталогов
- Функции с дополнением
- Библиотека Emoji: использование смайлов в Python
- Возврат нескольких значений из функции
- Синхронизация доступа к ресурсам
- Регистрация на хакатоне
- Измерение времени выполнения кода
- Принципы Zen of Python
- Получение текущей даты и времени с помощью datetime
- Группы исключений в Python
- Работа с JSON в Python
- Python: Splat-оператор и splatty-splat
- Работа с файлами в Python
- Возврат нескольких значений
- Работа с типами данных в Python с помощью pydantic.
- Удаление знаков препинания в Python
- Преобразование чисел в Python
- Декодирование байтов в строку
- Обязательные аргументы в Python
- Передача аргументов через **arguments
- Функция reduce() из модуля functools
- Работа с OpenCV
- Удаление элемента по индексу в Python
- Функция map() в Python
- Работа с парами ключ-значение
- Список импортированных модулей в Python
- Поиск индекса элемента
- Виртуальное окружение Python
- Сравнение def и lambda функций в Python
- Установка пакетов с помощью pip
- Работа с zip-архивами в Python
- Функция enumerate() — Python
- Итерация по коллекции в Python
- Объединение списков в Python.
- Очистка вывода в Python
- Кортеж в Python: создание и использование
- Основы работы с os
- Обход словаря в Python
- Удаление элементов во время итерации















