REPR в Python: как это работает?
В Python `repr` используется для получения текстового представления объекта. Оно часто используется для отладки и логирования, так как `repr` отображает объект в виде строки, которую можно легко выводить и сравнивать.
Каждый объект в Python имеет метод `__repr__`, который возвращает строку, которая описывает объект в соответствии с синтаксисом языка Python.
Для примера, выполним следующий код:
python
class Car:
def __init__(self, make, model):
self.make = make
self.model = model
def __repr__(self):
return f"Car(make='{self.make}', model='{self.model}')"
my_car = Car('Toyota', 'Corolla')
print(repr(my_car)) # Car(make='Toyota', model='Corolla')
В данном примере мы определяем класс `Car`, который имеет два атрибута `make` и `model`. Мы также определяем метод `__repr__`, который возвращает строку, описывающую объект `Car`.
Затем мы создаем экземпляр `my_car` и выводим его строковое представление с помощью функции `repr`.
Ожидаемый вывод: `Car(make='Toyota', model='Corolla')`.
Также можно выполнить `repr` для встроенных типов данных, таких как строки, числа и списки:
python
>>> repr('Hello, world!') # "'Hello, world!'"
>>> repr(123) # "123"
>>> repr([1, 2, 3]) # "[1, 2, 3]"