Курс 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
- Делегирование в Python
- Конвертация изображений в PDF
- Работа с WindowsPath()
- Определение функций с необязательными аргументами
- Функциональное программирование.
- Bootle — простой веб-фреймворк
- Конкатенация строковых литералов
- Улучшение читаемости кода в Python
- Оператор space-invader
- Python: изменяемые и неизменяемые коллекции
- Разделение строки на подстроки в Python
- 9 уловок для чистого кода
- Обмен переменными в Jupyter
- Замена подстроки
- Повторение элементов в Python
- Извлечение новостей с newspaper3k
- Профилирование с cProfile
- Генераторы в Python
- Метод rpow в Python
- Транспонирование матрицы в Python
- Библиотека sh: использование команд bash в Python
- Форматирование строк в Python
- Управление ресурсами в Python
- Работа с getopt
- Удаление файлов с shutil.os.remove()
- Combobox в Tkinter
- Функция enumerate() — Python
- Метод clear для коллекций
- Функция reversed() в Python
- Поиск наиболее частого элемента в списке
- Big O оптимизация
- Измерение времени выполнения кода с использованием time
- Создание списка через цикл
- Удаление элементов из списка в Python
- Создание списков в Python
- Получение списка файлов в директории с использованием os
- Вывод сложных структур данных с помощью pprint
- Измерение времени выполнения в Python
- Сравнение def и lambda-функций
- Преобразование чисел в Python
- Оптимизация поиска в словарях
- Освоение Python
- Работа с исключениями в Python
- Экспорт функций в Python
- Очистка данных с помощью pandas
- Получение текущей даты и времени с помощью datetime















