Курс 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"
- Использование модуля math
- Структуры данных в Python
- Отладка регулярных выражений в Python
- Многопоточность в Python
- Принципы программирования
- Работа с аргументами командной строки
- Многоточие в Python
- Измерение времени выполнения кода
- Определение локальных переменных в Python
- Метод join() для объединения элементов
- Подчеркивание в REPL
- Объединение словарей в Python
- Структурирование именованных констант
- GitHub в Telegram: подписка на уведомления
- Метод pop() списка
- Метод rmatmul для пользовательских матриц
- Обмен переменными в Jupyter
- Профилирование с Pandas
- Создание итерируемых объектов
- Отрицательные индексы списков
- Блок else в Python
- Создание лямбда-функций
- Аннотации типов в Python
- Аннотации типов в Python
- Векторизация в Python с NumPy.
- История Python
- Создание функций с произвольным количеством аргументов
- Определение размера папок в Python
- Распаковка значений в Python
- Поиск уникальных и повторяющихся элементов
- Генераторы списков в Python
- Нарезка списков в Python
- Логические значения в Python
- Управление виртуальными окружениями в Python
- Метод eq для сравнения объектов
- Вычисление натуральных логарифмов в NumPy
- Удаление URL-адресов в Python
- Выборка чисел
- Форматирование вывода с F-строками
- Импорт классов из другого файла
- Измерение времени выполнения кода
- Функция count() в Python
- Лямбда-функции в Python
- Измерение времени выполнения с помощью time
- Работа с CSV в Python
- Использование метода lower()
- Сглаживание списка
- Различия символов в Python
- Контекстный менеджер в Python















