Wie drucke ich Instanzen einer Klasse mit print()?
Um Instanzen einer Klasse mit der integrierten print()
-Funktion auszugeben, können Sie eine __str__
-Methode innerhalb der Klasse definieren. Die __str__
-Methode sollte eine Zeichenkettenrepräsentation des Objekts zurückgeben, die beim Aufrufen der print()
-Funktion auf eine Instanz der Klasse ausgegeben wird. Hier ist ein Beispiel für eine einfache Klasse mit einer __str__
-Methode:
class MyClass:
def __init__(self, value):
self.value = value
def __str__(self):
return str(self.value)
obj = MyClass(10)
print(obj) # wird "10" ausgeben
In diesem Beispiel hat die Klasse MyClass
ein einziges Attribut value
und eine __str__
-Methode, die die Zeichenkettenrepräsentation von value
zurückgibt. Wenn eine Instanz von MyClass
erstellt und an die print()
-Funktion übergeben wird, wird die __str__
-Methode aufgerufen und ihr Rückgabewert ausgegeben.
Beachten Sie, dass str für eine benutzerfreundliche Darstellung verwendet wird, wenn Sie etwas benötigen, das maschinenlesbarer ist, sollten Sie die repr Methode verwenden.