Курс 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"
- Логирование с Logzero
- Функциональное программирование в Python
- Обработка исключений в Python
- Установка и использование Virtualenv
- Обновление множества в Python
- Оператор += в Python
- Приоритет операций в Python
- Удаление элементов во время итерации
- Курс по дообучению ChatGPT
- Декораторы в Python
- Функции-генераторы в Python
- Сохранение Unicode в JSON
- Глобальные переменные в Python
- Модуль itertools: комбинации и перестановки
- Использование defaultdict в Python
- Инвертирование словаря
- Склеивание строк через метод join()
- Абстракции словарей и множеств в Python
- Добавление элементов в список: append() vs extend()
- Работа с типами данных в Python с помощью pydantic.
- Группы исключений в Python
- ChainMap избыточные ключи
- Множественное присваивание в Python
- Статическая типизация в Python
- Копирование словарей и списков в Python
- Пропуск строк в файле с itertools
- Установка и обучение ChatterBot
- Модуль Operator в Python
- Анонимные функции в Python
- Поиск самого частого элемента
- Область видимости переменных
- Именованные срезы в Python
- Списковое включение в Python
- Метод rrshift для пользовательских объектов
- Метод bool() в Python
- Объединение списков в Python
- Работа с deque из collections
- Игра «Угадывание чисел»
- Преобразование регистра символов
- Combobox в Tkinter
- Извлечение аудио из видео
- Группировка элементов Python
- Изменение объектов в Python
- Анализ кода — Python
- Сортировка HTML-элементов
- Группы исключений в Python
- Оператор += для объединения строк















