Função built-in Python repr()
Retorna uma string contendo uma representação imprimível de um objeto. Para muitos tipos, esta função tenta retornar uma string que produziria um objeto com o mesmo valor quando passada para eval(); caso contrário, a representação é uma string entre colchetes angulares que contém o nome do tipo do objeto juntamente com informações adicionais, muitas vezes incluindo o nome e o endereço do objeto. Uma classe pode controlar o que esta função retorna para suas instâncias definindo um método __repr__().
Introdução
A função repr() retorna uma string contendo uma representação imprimível de um objeto. O objetivo de repr() é ser inequívoco. Para muitos tipos, repr() retorna uma string que pode ser executada por eval() para criar um objeto idêntico.
Isso é diferente de str(), que se destina a ser legível por humanos.
Exemplo
import datetime
# Para uma string, repr() adiciona aspas
print(repr("hello"))
# Para um objeto datetime, é inequívoco
now = datetime.datetime.now()
print(repr(now))
# Você pode definir __repr__ para suas próprias classes
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')