Курс 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"
- Цикл while в Python
- Принципы программирования
- Проверка типов с использованием isinstance
- Импорт модулей и пакетов в Python
- Создание новых списков в Python
- Отладка в Python
- Проблема сравнения словарей
- Установка пакета в Python
- Логирование с Logzero
- Основные методы NumPy
- Роль object и type в Python
- Проверка индексов коллекции
- Списковый компрехеншен.
- Вложенные циклы в Python
- Пространство имен в Python
- Пересечение списков с использованием множеств
- Искажение имен в Python
- Курс по дообучению ChatGPT
- Фильтрация последовательности
- Работа с Event() в threading
- Хранение данных с помощью dataclasses
- Анализ текста на русском языке с помощью Pymystem3
- Monkey Patching в Python
- Генерация QR-кодов с библиотекой qrcode
- Подсказки типов в Python
- Срезы в Python
- Модуль functools в Python
- Операции с кортежами
- Преобразование числа в восьмеричную строку
- Замыкания в Python
- Порядок операций в Python
- Установка и использование модуля Wikipedia
- Форматирование объектов с модулем pprint
- Форматирование строк в Python.
- Функция zip() для объединения списков
- Значения по умолчанию в Python
- Встроенные функции Python
- Использование подчеркивания в REPL
- Настройка вывода NumPy
- Объединение списков с помощью zip
- Безопасный доступ к значениям словаря
- Блок else в Python















