| You are here: Inicio > Inmersión en Python > Tipos de dato nativos > Formato de cadenas | << >> | ||||
Inmersión en PythonPython de novato a experto |
|||||
Python admite dar formato a valores dentro de cadenas. Aunque esto puede incluir expresiones muy complicadas, el uso más básico es insertar valores dentro de una cadena con el sustituto %s.
| El formato de cadenas en Python usa la misma sintaxis que la función sprintf en C. | |
>>> k = "uid" >>> v = "sa" >>> "%s=%s" % (k, v)'uid=sa'
Observe que (k, v) es una tupla. Ya le dije que servían para algo.
Puede que esté pensando que esto es mucho trabajo sólo para hacer una simple concatenación, y estaría en lo correcto, excepto porque el formato de cadenas no es sólo concatenación. Ni siquiera es sólo formato. También trata sobre conversión de tipos.
>>> uid = "sa" >>> pwd = "secret" >>> print pwd + " no es una buena clave para " + uidsecret no es una buena clave para sa >>> print "%s no es una buena clave para %s" % (pwd, uid)
secret no es una buena clave para sa >>> userCount = 6 >>> print "Usuarios conectados: %d" % (userCount, )
![]()
Usuarios conectados: 6 >>> print "Usuarios conectados: " + userCount
Traceback (innermost last): File "<interactive input>", line 1, in ? TypeError: cannot concatenate 'str' and 'int' objects
Como con la printf en C, el formato de cadenas de Python es como una navaja suiza. Hay gran cantidad de opciones y modificadores de cadena que dan formato especialmente a varios tipos de valores diferentes.
>>> print "Precio de hoy del stock: %f" % 50.462550.462500 >>> print "Precio de hoy del stock: %.2f" % 50.4625
50.46 >>> print "Cambio desde ayer: %+.2f" % 1.5
+1.50
<< Declaración de variables |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
Inyección de listas (mapping) >> |