Python 2.6 führte die str.format()
Methode mit einer etwas anderen Syntax als der vorhandene %
Operator ein. Was ist besser und für welche Situationen?
Im Folgenden wird jede Methode verwendet und das gleiche Ergebnis erzielt. Was ist also der Unterschied?
#!/usr/bin/python sub1 = "python string!" sub2 = "an arg" a = "i am a %s" % sub1 b = "i am a {0}".format(sub1) c = "with %(kwarg)s!" % {'kwarg':sub2} d = "with {kwarg}!".format(kwarg=sub2) print a # "i am a python string!" print b # "i am a python string!" print c # "with an arg!" print d # "with an arg!"
Wann erfolgt die Formatierung von Zeichenfolgen in Python? Wenn beispielsweise meine Protokollierungsstufe auf HIGH eingestellt ist, kann ich trotzdem einen Treffer für die Ausführung des folgenden
%
Vorgangs erzielen? Und wenn ja, gibt es eine Möglichkeit, dies zu vermeiden?log.debug("some debug info: %s" % some_info)
%
Stil häufiger, denn wenn Sie die verbesserten Funktionen des format()
Stils nicht benötigen , ist der %
Stil oft viel praktischer.
format()
Formatierungsstil und den älteren %
Formatierungsstil .