Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die String-Darstellung meiner Python-Klasseninstanzen anpassen?
Benutzerdefinierte Zeichenfolgendarstellung für Klasseninstanzen
Beim Drucken von Instanzen einer Klasse liefert die Standardausgabe oft nur den Klassennamen und eine Objektadresse . Um diese Ausgabe anzupassen und bestimmte Attribute anzuzeigen, kann man die String-Darstellung der Klasse definieren.
Mit str und repr Methoden
Python bietet zwei spezielle Methoden: str und __repr__, die die String-Darstellung eines Objekts steuern. Durch Überschreiben dieser Methoden innerhalb einer Klasse kann man angeben, wie Instanzen der Klasse beim Drucken angezeigt werden sollen.
str Methode
Die str-Methode definiert die Zeichenfolgendarstellung, die angezeigt werden soll, wenn die Druckfunktion verwendet wird. Es sollte eine Zeichenfolgendarstellung des Objekts zurückgeben. Zum Beispiel:
class Test: def __str__(self): return "member of Test"
repr Methode
Dierepr-Methode definiert die Zeichenfolgendarstellung, die angezeigt werden soll, wenn die Die Funktion repr() wird verwendet oder das Objekt wird in der interaktiven Eingabeaufforderung überprüft. Es sollte eine Zeichenfolgendarstellung zurückgeben, die zum Neuerstellen des Objekts verwendet werden kann. Zum Beispiel:
class Test: def __repr__(self): return "Test()"
Beispiel
Betrachten Sie das folgende Beispiel:class Test: def __init__(self): self.a = 'foo' def __str__(self): return str(self.a) def __repr__(self): return "Test()"Beim Drucken einer Instanz dieser Klasse werden die folgenden Ausgaben ausgegeben wird angezeigt:
>>> print(Test()) foo >>> repr(Test()) Test()Durch die Definition von
str und repr-Methoden haben Sie die vollständige Kontrolle über die String-Darstellung Ihrer Klasseninstanzen.
Das obige ist der detaillierte Inhalt vonWie kann ich die String-Darstellung meiner Python-Klasseninstanzen anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!