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 .