Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich die String-Darstellung einer Klasse in Python anpassen?

Wie kann ich die String-Darstellung einer Klasse in Python anpassen?

DDD
Freigeben: 2024-11-09 15:10:02
Original
370 Leute haben es durchsucht

How Can I Customize the String Representation of a Class in Python?

Klassen-String-Darstellung anpassen

In Python sind Klassen Objekte und haben daher ihre eigene String-Darstellung. Standardmäßig ist diese Darstellung . Das Entwerfen einer benutzerdefinierten Darstellung für Klassen kann zum Debuggen, Protokollieren oder für andere Zwecke nützlich sein.

Um diese Anpassung zu erreichen, wird eine Metaklasse verwendet. In Python ist eine Metaklasse eine Klasse, die andere Klassen erstellt. Durch die Implementierung der Methode __str__ oder __repr__ in einer Metaklasse kann die Zeichenfolgendarstellung der Klasse angepasst werden.

Die Methode __str__ bietet eine vom Benutzer lesbare Zeichenfolgendarstellung, während __repr__ eine eindeutige Darstellung für Entwicklung und Debugging bereitstellt. Hier ist ein Beispiel mit __repr__:

class MC(type):
  def __repr__(self):
    return 'Wahaha!'

class C(object):
  __metaclass__ = MC

print(C)  # Prints 'Wahaha!'
Nach dem Login kopieren

In Python 3 wird das __metaclass__-Attribut durch ein Metaclass-Schlüsselwortargument ersetzt. Hier ist die Python 3-Version des Beispiels:

class MC(type):
  def __repr__(self):
    return 'Wahaha!'

class C(object, metaclass=MC):
    pass

print(C)  # Prints 'Wahaha!'
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich die String-Darstellung einer Klasse 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage