Курс 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
- Поиск подстроки в строке
- Тип CodeType в Python.
- Создание словаря с значением по умолчанию
- Flask — веб-фреймворк Python
- Форматирование строк в Python.
- Аннотации типов в Python
- Пространство имен в Python
- Работа с файлами в Python
- Счетчик ссылок в Python
- Замена переменных в Python
- Лямбда-функции для min/max
- Непрерывная проверка в Python
- Методы обработки строк в Python
- Создание генераторов в Python
- Использование defaultdict в Python
- Инверсия списков и строк в Python
- Howdoi — получение ответов из терминала
- Функция zip() в Python
- Именованные кортежи в Python
- Работа с комплексными числами в Python
- Итерации в Python
- Проверка строки на палиндром
- Работа с collections в Python.
- Функция findall() для поиска вхождений строки
- Сортировка данных с лямбда-функциями
- Обработка ошибок ввода данных
- Обновление шаблона base.html
- Преобразование регистра символов
- Удаление дубликатов с помощью множеств
- Нахождение хеша для бесконечности и NaN в Python
- Обработка аргументов Python
- Метод rxor для операции побитового исключающего «или»
- Конструктор в Python
- Функции в одну строку
- Поиск самого длинного слова в списке с использованием max()
- Методы и функции в Python
- Python Аргументы по умолчанию
- Списковый компрехеншен.
- Строковое представление объектов
- Декоратор Ajax required
- Закрытие файла в Python
- Многопоточность в Python
- Метод clear для коллекций
- Функция reversed() в Python















