Hallo Thomas, On 2013-09-03 17:15, Thomas Guettler wrote:
die Formatierung mit format() hat sicherlich Vorteile, die alte Methode finde ich jedoch einiges kompakter und darum finde ich sie in der Regel besser. [...] Ich persönlich finde es nicht sinnvoll bei bestehenden Projekten die % Formatierung durch die format-Methode zu ersetzen. Wie seht ihr das?
ich habe eine schwache Bevorzugung der `format`-Variante, auch, wenn sie in vielen Fällen etwas mehr Schreibarbeit benötigt. Die Ersetzung von `%`-Formatierung durch `format`-Formatierung in bestehenden Projekten sehe ich ähnlich wie die Ersetzung von `try ... finally` durch `with` (in den Fällen, wo es um Ressourcen-Freigabe geht): Man muss keine Änderung vornehmen, aber die neue Notation erscheint mir sauberer. Davon abgesehen, kann `format` noch ein bisschen mehr, als nur besser mit Tupeln umgehen. Zum Beispiel ist so etwas möglich:
"{0}, {1} - und noch mal {0}".format(1, 2) '1, 2 - und noch mal 1'
d = {"a": 1, "b": 2} "{0[a]} und {0[b]}".format(d) '1 und 2'
class X(object): pass ... x = X() x.a = 3 x.b = 4 "{0.a} und {0.b}".format(x) '3 und 4'
oder auch "gemischt":
"{0[a]} und {1.b}".format(d, x) '1 und 4'
Viele Grüße Stefan