Wenn ich mit
einen String ausgebe, erscheint dieser so:
Nun habe ich hier eine Liste, die nach und nach mit Werten gefüllt wird. Die Werte sind eigentlich Strings:
Um dieses `_value_`-Attribut auch vernünftig ausgeben zu können, hab ich mir in der zugehörigen Klasse eine `__repr__`-Methode gebastelt:
Die erste Zeile soll also ganz vorn stehen und alle weiteren darunter mit einem Tabulator eingerückt. Ich erhalte aber folgende Fehlermeldung:
Code: Alles auswählen
Traceback (most recent call last):
...
File "MyParser.py", line 37, in __repr__
return "\n\t".join(self._values_)
TypeError: sequence item 1: expected string, instance found
Die Notlösung ist momentan diese hier:
Code: Alles auswählen
def __repr__(self):
return "\n\t".join([value.__repr__() for value in self._values_])
Also rufe ich nochmal für jedes Item in der Liste `__repr__()` auf. Somit erhalte ich aber den String in Apostroph-Zeichen, was in meinem Fall irreführend sein kann:
Da der Python-Interpreter bei sowas selten lügt, ist mir vielleicht zwischendrin tatsächlich eine Instanz und kein String in die Liste gerutscht. Wie kriege ich den Typ der Variable raus?