Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die Ausgabe beim Drucken einer Klasseninstanz in Python anpassen?

Wie kann ich die Ausgabe beim Drucken einer Klasseninstanz in Python anpassen?

Patricia Arquette
Freigeben: 2024-12-17 01:11:25
Original
542 Leute haben es durchsucht

How can I customize the output of printing a class instance in Python?

Anpassen der Klasseninstanzdarstellung beim Drucken

Wenn Sie versuchen, eine Instanz einer Klasse zu drucken, stoßen Sie möglicherweise auf eine Standarddarstellung wie den Speicher Adresse. Um das gedruckte Erscheinungsbild Ihrer Klasseninstanzen anzupassen, vertiefen Sie sich in die Konzepte von __str__ und __repr__.

Die __str__-Methode

Durch die Definition einer __str__-Methode innerhalb Ihrer Klasse können Sie kann steuern, wie Instanzen beim Drucken dargestellt werden. Diese Methode sollte eine Zeichenfolge zurückgeben, die den gewünschten Anzeigetext enthält. Zum Beispiel:

>>> class Test:
>>>     def __init__(self):
>>>         self.a = 'foo'
>>>     def __str__(self):
>>>         return f"Test with a: {self.a}"
Nach dem Login kopieren

Wenn Sie nun eine Instanz dieser Klasse drucken, erhalten Sie eine benutzerdefinierte Zeichenfolgendarstellung:

>>> t = Test()
>>> t
Test with a: foo
>>> print(t)
Test with a: foo
Nach dem Login kopieren

Die __repr__-Methode

Wenn die Methode __repr__ definiert ist, hat sie beim Drucken mit der Funktion repr() oder in interaktiven Eingabeaufforderungen Vorrang vor __str__. Ziel ist es, eine detailliertere Darstellung bereitzustellen, die zum Debuggen oder Rekonstruieren geeignet ist. Wenn Sie __repr__ ohne __str__ definieren, dient es auch als gedruckte Darstellung.

Zum Beispiel:

>>> class Test:
>>>     def __init__(self):
>>>         self.a = 'foo'
>>>     def __repr__(self):
>>>         return f"Test(a={self.a})"
Nach dem Login kopieren

Beim Drucken:

>>> t = Test()
>>> t
Test(a='foo')
>>> repr(t)
"Test(a='foo')"
Nach dem Login kopieren

Zusammenfassung :

Um die gedruckte Darstellung Ihrer Klasseninstanzen anzupassen, definieren Sie eine __str__-Methode für gewünschten Anzeigetext oder eine __repr__-Methode für eine detaillierte Darstellung. Wenn beide definiert sind, wird __str__ zum Drucken verwendet, während __repr__ für die repr()-Funktion verwendet wird.

Das obige ist der detaillierte Inhalt vonWie kann ich die Ausgabe beim Drucken einer Klasseninstanz in Python anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage