Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pyOpMgRp 88 of 174 menu
◀ ▶

Метод __repr__ в ООП в Python

Кроме метода __str__ в Python есть специальный метод __repr__. Он задает строку для отладки: по ней видно тип объекта и его данные. Давайте разберемся, что это значит. Пусть у нас дан вот такой класс User:

class User: def __init__(self, name, age): self.__name = name self.__age = age

Давайте создадим объект этого класса:

user = User('john', 25)

А теперь попытаемся вывести созданный объект через print:

user = User('john', 25) print(user)

Без своего метода __str__ функция print берет результат метода __repr__. Сейчас это служебный текст с адресом объекта в памяти.

Чтобы текст был полезным для отладки, сделаем метод __repr__ и вернем из него строку с данными объекта:

class User: def __init__(self, name, age): self.__name = name self.__age = age def __repr__(self): return "User('" + self.__name + "', " + str(self.__age) + ")"

Проверим:

user = User('john', 25) print(user) # выведет User('john', 25)

Сделайте класс Employee с именем и зарплатой. Реализуйте метод __repr__ так, чтобы при выводе объекта через print были видны оба значения.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить