Python 2.6 introdujo el str.format()
método con una sintaxis ligeramente diferente del %
operador existente . ¿Cuál es mejor y para qué situaciones?
Lo siguiente usa cada método y tiene el mismo resultado, entonces, ¿cuál es la diferencia?
#!/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!"
Además, ¿cuándo se produce el formateo de cadenas en Python? Por ejemplo, si mi nivel de registro está establecido en ALTO, ¿recibiré un golpe por realizar la siguiente
%
operación? Y si es así, ¿hay alguna manera de evitar esto?log.debug("some debug info: %s" % some_info)
%
estilo más antiguo con más frecuencia, porque si no necesita las capacidades mejoradas del format()
estilo, el %
estilo suele ser mucho más conveniente.
format()
estilo de formato y el mayor %
estilo de formato basado .