Fonction repr() de Python

Python3 内置函数Fonctions intégrées de Python3


repr()est une fonction intégrée à Python utilisée pour obtenir la représentation imprimable d'un objet.

repr()Renvoie la représentation officielle sous forme de chaîne d'un objet, qui peut généralement être utilisée pour recréer l'objet. Elle diffère destr()en ce que,repr()elle est davantage axée sur le débogage et le développement, tandis questr()il est axé sur la convivialité.

Définition du mot: reprOuirepresentationC'est l'abréviation de « représentation ».


Syntaxe de base et paramètres

Format de syntaxe

repr(object)

Description du paramètre

  • Paramètre object:
    • Type : Tout objet
    • Description : L'objet dont la représentation sous forme de chaîne doit être obtenue.

Description de la fonction

  • Valeur de retour: Renvoie une chaîne, généralement une chaîne pouvant représenter l'objet.
  • Méthode spéciale: Les objets peuvent, en définissant__repr__une méthode, personnaliser la valeur de retour.

Exemples

Exemple 1 : repr() vs str()

Exemples

# Différence entre les chaînes
s = "hello"
print(f"str: '{str(s)}'")    # Sortie : str: 'hello'
print(f"repr: '{repr(s)}'")  # Sortie : repr: 'hello'

# Différence entre les objets datetime
from datetime import datetime
dt = datetime.now()
print(f"str: {str(dt)}")
print(f"repr: {repr(dt)}")

# Différence entre les classes personnalisées
class Person:
    def __init__(self, name):
        self.name = name
    def __str__(self):
        return f"Person: {self.name}"
    def __repr__(self):
        return f"Person(name='{self.name}')"

p = Person("Tom")
print(f"str: {str(p)}")
print(f"repr: {repr(p)}")

Sortie attendue :

str: 'hello'
repr: 'hello'
str: 2024-01-15 10:30:45.123456
repr: datetime.datetime(2024, 1, 15, 10, 30, 45, 123456)
str: Person: Tom
repr: Person(name='Tom')

Analyse du code :

  1. Pour les chaînes simples, les deux produisent le même résultat.
  2. Pour datetime,repr()renvoie une expression qui peut recréer l'objet.
  3. Les classes personnalisées peuvent respectivement définir__str__et__repr__méthodes traditionnelles.

Exemple 2 : Utiliser repr() pour le débogage

Exemples

# Afficher les caractères cachés
s = "hello\nworld"
print(f"str: {str(s)}")
print(f"repr: {repr(s)}")

# Afficher les guillemets
text = "She said 'hello'"
print(f"str: {str(text)}")
print(f"repr: {repr(text)}")

# Dans un environnement interactif
# Saisir directement un nom de variable appelle repr()

Sortie attendue :

str: hello
world
repr: 'hello\nworld'
str: She said 'hello'
repr: "She said 'hello'"

repr()Cela peut afficher les caractères cachés (tels que les caractères de nouvelle ligne) et les guillemets, ce qui est pratique pour le débogage.


Python3 内置函数Fonctions intégrées de Python3


Autres extensions