Python repr() eingebaute Funktion
Aus der Python 3 Dokumentation
Gibt eine Zeichenkette zurück, die eine druckbare Darstellung eines Objekts enthält. Für viele Typen versucht diese Funktion, eine Zeichenkette zurückzugeben, die bei Übergabe an eval() ein Objekt mit demselben Wert ergibt; andernfalls ist die Darstellung eine in spitze Klammern eingeschlossene Zeichenkette, die den Typ des Objekts zusammen mit zusätzlichen Informationen enthält, oft einschließlich des Namens und der Adresse des Objekts. Eine Klasse kann steuern, was diese Funktion für ihre Instanzen zurückgibt, indem sie eine __repr__() Methode definiert.
Einführung
Die repr() Funktion gibt eine Zeichenkette zurück, die eine druckbare Darstellung eines Objekts enthält. Das Ziel von repr() ist es, eindeutig zu sein. Für viele Typen gibt repr() eine Zeichenkette zurück, die von eval() ausgeführt werden kann, um ein identisches Objekt zu erstellen.
Dies unterscheidet sich von str(), das für die menschliche Lesbarkeit gedacht ist.
Beispiel
import datetime
# Für einen String fügt repr() Anführungszeichen hinzu
print(repr("hello"))
# Für ein datetime-Objekt ist es eindeutig
now = datetime.datetime.now()
print(repr(now))
# Sie können __repr__ für Ihre eigenen Klassen definieren
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')