Курс 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
- Измерение времени выполнения с помощью time
- Создание новой даты в Python
- Работа с файлами и директориями в Python.
- Перемещение и удаление файлов в Python
- Именование переменных в Python
- Работа со случайными элементами
- Получение комбинаций в Python
- Изменение логики работы с временем
- Любовь к Python
- Отношения подклассов в Python
- Секреты Python
- Оптимизация создания строк
- Деление в Python
- Enum в Python: создание и использование перечислений
- Асинхронное выполнение задач в процессах
- Codecademy в Telegram
- Модуль xkcd: добавление юмора в Python
- Метод pos в Python
- Форматирование вывода списков
- Преобразование range в итератор
- Основы Python за 14 дней
- Работа с датами в Python
- Объединение словарей в Python
- Возврат нескольких значений
- Сериализация данных в JSON с помощью json.dumps
- Генераторы списков
- Деление в Python
- Удаление ресурса в Python
- Извлечение чисел из текста
- Фильтрация списков с itertools
- Реализация метода __abs__ в Python
- Поиск анаграмм с Counter
- Обновление данных через PUT запрос
- Оценка выражений генератора в Python
- Рациональные числа в Python
- Перевод двоичного кода в целое число
- Хранение переменных в словаре.
- Переворот строки с помощью срезов
- Курс по дообучению ChatGPT
- Создание новых функций через partial
- Генератор надежных паролей
- Оператор обр. импликации
- Вакансии в Nebius
- Пустой оператор pass в Python
- Работа с NumPy массивами
- Функция findall() для поиска вхождений строки
- %pinfo: получение информации об объекте
- Работа с argparse















