Курс 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
- Обход дочерних элементов BeautifulSoup
- Метод clear для коллекций
- Метод split() в Python
- Удаление элементов во время итерации
- Транспонирование 2D-массива с помощью zip
- Манипуляция формой массива в Numpy
- Разделение строки на подстроки в Python
- Измерение времени выполнения в Python
- Concrete Paths — метод .with_suffix()
- Объединение коллекций в Python
- Основные операции с библиотекой Numpy
- Работа с модулем Calendar
- Преобразование чисел в восьмеричную строку
- Генераторы в Python
- Добавление вложенных списков
- Копирование файлов с shutil()
- Модуль os: работа с файлами и папками
- Базовые объекты Python
- Работа с argparse
- Принципы программирования
- Хешируемые ключи в Python
- Встроенные функции Python
- Именование переменных в Python
- Progress с библиотекой tqdm
- Цикл for в Python
- Руководство по Pymorphy2
- Поиск простых чисел
- Python OrderedDict и fromkeys() — работа с словарями
- Генератор данных в Keras
- Переворот последовательности
- Создание вкладок с TKinter
- Переопределение метода sub
- Преобразование текста в речь с Python
- Комментарии в Python
- Генераторы списков
- Работа с датой и временем в Python
- Метод setdefault() в Python
- Разрешение имен в Python
- Преобразование типов данных в set comprehension
- Сортировка с помощью key
- Управление импортом в Python
- Метод join() для объединения строк
- Фильтрация элементов с помощью islice
- Проблемы с именами переменных
- Работа с файлами и директориями в Python.















