[Python-de] % Formatierung vs mystr.format()
Peter Otten
__peter__ at web.de
Mi Sep 4 09:59:59 CEST 2013
Thomas Guettler wrote:
> 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-
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
Mehr Informationen über die Mailingliste python-de