Курс 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
- Измерение времени выполнения кода
- Работа с YAML в Python
- Обратное распространение ошибки
- Ключевое слово global в Python
- Получение размера объекта с sys.getsizeof()
- Генераторы в Python
- Циклы for в Python
- Функции map, filter, reduce
- Регистрация на курсы SF Education
- Генерация QR-кодов с библиотекой qrcode
- Конкатенация списков в Python
- Проверка надежности пароля на Python
- Порядок операций в Python
- Оператор распаковки в Python
- Простой калькулятор Python
- Разделение строк в Python
- Генераторы списков в Python
- TON Smart Challenge #2: участие и подготовка
- Работа с классами данных
- Резервирование символов в Python
- Упрощение условных выражений с тернарным оператором
- Перевод эмодзи и эмотиконов.
- Работа с defaultdictами в Python
- Бесконечная проверка в Python
- Работа с пакетами
- Разница между датами
- Управление контекстом с помощью декоратора contextmanager
- Создание Telegram-бота на Python
- Управление доступом к модулю
- Метод append() для списка
- Ускорение выполнения кода в Python
- Удаление элементов во время итерации
- Нан-рефлексивность в Python
- Функция enumerate в Python
- Работа с срезами в Numpy
- Логирование с Logzero
- Вложенные функции в Python
- Метод join для объединения строк
- Извлечение аудио из видео
- Автоматизация действий с Pyautogui
- Удаление дубликатов из списка с помощью dict.fromkeys
- Склеивание строк без циклов
- Создание словарей и множеств в Python.
- Принципы LSP и ISP в Python
- Декораторы для регистрации функций















