Встроенная функция Python repr()
Возвращает строку, содержащую печатное представление объекта. Для многих типов эта функция пытается вернуть строку, которая при передаче в eval() даст объект с тем же значением; в противном случае представление представляет собой строку в угловых скобках, содержащую имя типа объекта вместе с дополнительной информацией, часто включающей имя и адрес объекта. Класс может контролировать, что возвращает эта функция для своих экземпляров, определяя метод __repr__().
Введение
Функция repr() возвращает строку, содержащую печатное представление объекта. Цель repr() — быть однозначной. Для многих типов repr() возвращает строку, которая может быть выполнена с помощью eval() для создания идентичного объекта.
Это отличается от str(), которая предназначена для чтения человеком.
Пример
import datetime
# Для строки repr() добавляет кавычки
print(repr("hello"))
# Для объекта datetime он однозначен
now = datetime.datetime.now()
print(repr(now))
# Вы можете определить __repr__ для своих собственных классов
class Person:
def __init__(self, name):
self.name = name
def __repr__(self):
return f"Person(name='{self.name}')"
p = Person("John")
print(repr(p))
'hello'
datetime.datetime(2023, 10, 27, 10, 0, 0, 123456)
Person(name='John')