print innerhalb von __str__, Stil
Verfasst: Sonntag 3. Juli 2011, 21:30
Hallo,
ich bin noch ziemlich neu bei Python und kenne mich deshalb bei den Konventionen (abgesehen von PEP8) noch nicht so gut aus.
Zur eigentlichen Frage: Ich habe eine Klasse mit __str__ Methode. Die __str__ Methode gibt via print() farbigen Text aus (genau genommen via cprint aus dem Package termcolor). Nachdem ich festgestellt habe, dass __str__ als return Wert einen string ausgeben sollte, habe ich noch
hintendran gehängt. Dies kommt mir jedoch etwas unschön vor. Deshalb wollte ich fragen, ob print Befehle innerhalb von __str__ überhaupt valide sind und ob es vielleicht eine bessere Lösung gibt. Was mir bisher als Alternative eingefallen ist:
Gruß,
Inkane
ich bin noch ziemlich neu bei Python und kenne mich deshalb bei den Konventionen (abgesehen von PEP8) noch nicht so gut aus.
Zur eigentlichen Frage: Ich habe eine Klasse mit __str__ Methode. Die __str__ Methode gibt via print() farbigen Text aus (genau genommen via cprint aus dem Package termcolor). Nachdem ich festgestellt habe, dass __str__ als return Wert einen string ausgeben sollte, habe ich noch
Code: Alles auswählen
return ""- statt cprint zu verwenden alle Ausgaben stattdessen in einer Variablen speichern und diese mit return ausgeben. Nachteil: ich müsste cprint durch einen anderen Befehl ersetzen und hätte eine unnötige Variable
- statt __str__ eine andere Methode definieren, was aber den Nachteil hätte, dass print(Objekt) nichts Sinnvolles mehr ausgibt
Gruß,
Inkane