La fonction intégrée Python repr()

Tiré de la documentation Python 3

Retourne une chaîne de caractères contenant une représentation imprimable d'un objet. Pour de nombreux types, cette fonction tente de retourner une chaîne qui produirait un objet de même valeur lorsqu'elle est passée à eval() ; sinon, la représentation est une chaîne entourée de chevrons contenant le nom du type de l'objet ainsi que des informations supplémentaires incluant souvent le nom et l'adresse de l'objet. Une classe peut contrôler ce que cette fonction retourne pour ses instances en définissant une méthode __repr__().

Introduction

La fonction repr() retourne une chaîne de caractères contenant une représentation imprimable d’un objet. L’objectif de repr() est d’être sans ambiguïté. Pour de nombreux types, repr() retourne une chaîne qui peut être exécutée par eval() pour créer un objet identique.

Ceci est différent de str(), qui est destiné à être lisible par l’homme.

Exemple

import datetime

# Pour une chaîne de caractères, repr() ajoute des guillemets
print(repr("hello"))

# Pour un objet datetime, c'est sans ambiguïté
now = datetime.datetime.now()
print(repr(now))

# Vous pouvez définir __repr__ pour vos propres 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')

Liens pertinents