Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich die String-Darstellung meiner Python-Klasseninstanzen anpassen?

Wie kann ich die String-Darstellung meiner Python-Klasseninstanzen anpassen?

Susan Sarandon
Susan SarandonOriginal
2024-12-27 01:16:11991Durchsuche

How Can I Customize the String Representation of My Python Class Instances?

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

Die

repr-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!

Stellungnahme:
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