Python-Vererbung: Verketten mit super __str__

Ich würde gerne eine Kind-Klasse' __str__ Implementierung hinzufügen, um die Basis-Implementierung:

class A:
    def __str__(self):
        return "this"

class B(A):
    def __str__(self):
        return super(B, self) + " + that"

Daraus ergibt sich jedoch eine Art Fehler:

TypeError: unsupported operand type(s) for +: 'super' und 'str'

Gibt es eine Möglichkeit zu bekommen str(B()) zurück "this + that"?

  • Nicht, dass dies Ihr Problem ist, aber in Python 3 können Sie nur schreiben super() entfällt die Notwendigkeit, die alten 2.x syntax super(B, self).
InformationsquelleAutor rookie | 2015-06-26
Schreibe einen Kommentar