Курс 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"
- Проверка типов с помощью isinstance
- Работа с комплексными числами
- Форматирование строк в Python
- Упрощение условных выражений с тернарным оператором
- Генераторы списков в Python
- Подписка на @SelectelNews
- Pretty-printing JSON в Python
- Модуль os в Python: работа с файлами
- Удаление элементов из списка в Python.
- Функция enumerate() в Python
- Работа с файлами в Python
- Срезы в Numpy
- Фильтрация данных в Python.
- Antigravity модуль
- Операции с комплексными числами
- Сравнение неупорядоченных списков
- Установка и использование howdoi
- Принципы Zen Python
- Подсчет элементов в Python
- Преобразование строк в числа с плавающей запятой
- Проверка типа объекта в Python
- Метод gt в Python
- Измерение времени выполнения в Python
- Списковое включение в Python
- Инверсия списков и строк в Python
- Манипуляция формой массива в Numpy
- Работа с комплексными числами
- Переопределение метода __rshift__
- Условные выражения в Python
- Работа с путями в Python
- Капитализация строк
- Работа с модулем random
- Переворот строки
- Объявление переменных в Python
- Асинхронное выполнение задач в Python
- Работа с геоданными с помощью geopy
- Открытие, чтение и закрытие файла
- Big O оптимизация
- Передача аргументов через **arguments
- Удаление элементов во время итерации
- Модуль pprint
- Работа с итераторами в Python
- Конкатенация строк с методом join()
- Преобразование объекта в строку
- Создание словарей с defaultdict()
- Профилирование кода















