Курс 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
- Списки в Python: синтаксис представления
- Поиск наиболее частого элемента в списке
- Генерация тестовых данных с factory_boy
- Проверка окончания строки с помощью str.endswith()
- Транспонирование матрицы в Python
- Конкатенация строковых литералов
- Измерение времени выполнения кода с использованием time
- Изменение IP-адреса в Python
- Переворот строки
- Лямбда-функции в Python
- Объединение словарей в Python
- Функциональное программирование в Python
- Метод pos в Python
- Создание новых функций с помощью functools.partial
- Избегайте двойного подчеркивания
- Получение пути к текущему скрипту с помощью os
- Сохранение Unicode в JSON
- Оператор zip в Python
- Основные функции и модули Python
- Получение текущей директории
- Работа с контекстными менеджерами
- Метод invert для побитового отрицания
- Замена элементов в списке с помощью генераторов списков
- Метод Event.wait() в Python
- Функция enumerate в Python
- Разделение строки с помощью split()
- Работа с многоуровневыми словарями в Python
- Циклы в Python
- Combobox в Tkinter
- Вычисление фазы комплексного числа
- Библиотека Emoji: использование смайлов в Python
- Многострочные комментарии в Python
- Установка максимального количества цифр
- Конкатенация строк с методом join()
- Сортировка в Python
- Названия столбцов в Python таблицах
- Управление сессиями в Python
- Инверсия списка и строки в Python
- Конкатенация списков в Python
- Извлечение аудио из видео
- Работа с дробями в Python
- Реверс строки и списка в Python.
- Именование столбцов в Python с pandas















