So passen Sie die Zeichenfolgendarstellung von Klasseninstanzen mit print() an
Beim Drucken von Instanzen einer Klasse zeigt das Standardverhalten häufig an Speicherort des Objekts. Um die Zeichenfolgendarstellung anzupassen und zu steuern, was beim Drucken angezeigt wird, können Sie zwei spezielle Methoden implementieren: str und __repr__.
__str__: Definieren der für Menschen lesbaren Zeichenfolgendarstellung
Die Methode str definiert die Zeichenfolgendarstellung eines Objekts für den allgemeinen Gebrauch. Es wird aufgerufen, wenn Sie print() oder str() für das Objekt aufrufen. Durch Überschreiben von __str__ können Sie die benutzerdefinierte Ausgabe definieren, die beim Drucken angezeigt wird.
__repr__: Definieren der Zeichenfolgendarstellung für das Debuggen
Der repr Die Methode definiert die Zeichenfolgendarstellung, die für Debugging-Zwecke vorgesehen ist. Es wird aufgerufen, wenn Sie repr() für das Objekt aufrufen oder wenn Sie str__ nicht definieren. Die __repr-Darstellung sollte ein gültiger Python-Ausdruck sein, der das Objekt ergibt.
Beispiel
So passen Sie die Zeichenfolgendarstellung Ihrer Klasseninstanzen an:
class Test: def __init__(self): self.a = 'foo' def __str__(self): return "member of Test" def __repr__(self): return "Test()"
Im Beispiel oben:
Wenn Sie eine Instanz davon drucken Klasse:
t = Test() print(t)
Es wird „Mitglied von Test“ auf der Konsole angezeigt und bietet eine benutzerdefinierte und aussagekräftige Darstellung.
Das obige ist der detaillierte Inhalt vonWie überschreibe ich „__str__' und „__repr__' für die benutzerdefinierte Druckausgabe von Klasseninstanzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!