Fonction repr() de Python
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)}")
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 :
- Pour les chaînes simples, les deux produisent le même résultat.
- Pour datetime,
repr()renvoie une expression qui peut recréer l'objet. - 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()
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.
Fonctions intégrées de Python3
Autres extensions