
Hallo,
die Formatierung mit format() hat sicherlich Vorteile, die alte Methode finde ich jedoch einiges kompakter und darum finde ich sie in der Regel besser.
In einer alten Version der Doku steht, das die % Formatierung deprecated ist:
http://docs.python.org/release/3.1.5/library/stdtypes.html#old-string-
Thomas Guettler wrote: formatting-operations
In einer neuen Version konnte ich diese Stelle nicht mehr finden. Nur einen Abschnitt der die Nachteile der % Methode erläutert:
http://docs.python.org/3/library/stdtypes.html#printf-style-string-
formatting
Ich gehe davon aus, dass die % Methode *nicht* mehr deprecated ist. Oder soll das wirklich abgeschafft werden?
Nein, siehe auch http://bugs.python.org/issue14123
Ich persönlich finde es nicht sinnvoll bei bestehenden Projekten die % Formatierung durch die format-Methode zu ersetzen.
D'accord.
Wie seht ihr das?
Ich verwende die alte Methode immer, wenn ich zu faul bin, die Position von "!" und ":" im interactive interpreter zu überprüfen ;) Das einzige Problem mit %, das ich sehe, ist die Sonderbehandlung von (Nicht-)Tupeln:
for value in 1, "2", (3, "3"): ... print "value=%r" % value ... value=1 value='2' Traceback (most recent call last): File "<stdin>", line 2, in <module> TypeError: not all arguments converted during string formatting