ram@zedat.fu-berlin.de (Stefan Ram) writes:
Thomas Orgelmacher <trash@odbs.org> writes:
Am 25.08.2017 um 07:45 schrieb Hermann Riemann:
d=a+b+c besser als d="{}{}{}".format(a,b,c) ? In diesem Fall ist das fast egal. ... Ich würde den + Operator bevorzugen.
Das kann ich beides unterstreichen!
Wenn etwas lesbar genug ist, dann lohnt es sich nicht mehr, sich zu überlegen, was "lesbarer" ist.
Es lohnt sich aber, zu überlegen, ob es wirklich das ausdrückt was man sagen will -- explizit ist besser als implizit. Zusammenfügen von n Strings (mit n=3): s = a + b + c Bildung eines neuen String mithile eines (trivialen) Templates: s = "{name}{md5}{suffix}".format(name=a, md5=b, suffix=c)
Kann jemand bei der folgenden Eingabe sofort erkennen, ob die Anzahl der »{}« gleich der Anzahl der Variablen ist?
"{}{}{}{}{}{}{}{}{}{}".format( a, b, c, d, e, f, g, h, i, j )
Das geht davon aus, dass die Bildungsvorschrift (Concatenieren) fix ist und die Zahl der Argumente prinzipiell variabel. Was der OP so nicht formuliert hat.
Kann ich als Wartungsprogrammierer jetzt ohne weiteres wissen, ob der Werte dieses letzten Ausdrucks so beabsichtigt war? Ob das »j« vielleicht gelöscht werden oder ein »{}« hinzugefügt werden soll?
Schreibe die Semantik dazu (explizit besser als implizit), und es wird sofort klar.
(Brille aufsetzen!)? Solche Fragen treten bei
a + b + c + d + f + g + h + i + j
nicht auf
Richtig. Da wird nämlich gar nicht auffallen, dass das "e" fehlt. (Sorry fürs Zitatfälschen) Ole