formatoSalida

=Formato de salida= Normalmente, cuando escribimos los resultados de un proceso, mezclamos datos, texto y más datos. No siempre es cómodo hacerlo. Por ejemplo, aprovechando que print separa con un espacio varios datos que le pasemos con comas, podemos hacer lo siguiente: code format="python" nombre = 'Juan' apellido1 = 'Moto' apellido2 = 'Caled'

print 'Su nombre es', nombre, 'y sus apellidos', apellido1, 'y', apellido2 code El resultado (la salida) es la siguiente: code format="python" Su nombre es Juan y sus apellidos Moto y Caled

code Pero, ¿y si no queremos que halla un espacio entre los datos? Por ejemplo, para añadir un punto al final de la frase anterior, no nos basta con añadir en el código, separado por una coma, '.' ya que dicho punto quedaría separado de la última palabra. code format="python" print 'Su nombre es', nombre, 'y sus apellidos', apellido1, 'y', apellido2,'.'

........

Su nombre es Juan y sus apellidos Moto y Caled.

code Podemos solucionarlo concatenando cadenas, de la siguiente manera: code format="python" print 'Su nombre es ' + nombre + ' y sus apellidos ' + apellido1 + ' y ' + apellido2 + '.'

........

Su nombre es Juan y sus apellidos Moto y Caled.

code Pero es evidente que es algo incómodo, pues hay que tener en cuenta que hay que dejar espacios extras para que las variables no queden pegadas al texto. Además, ¿y si nombre o apellido1 o apellido2 no fueran cadenas de texto, si no números u otro tipo de dato? Esta aproximación sería imposible. Una forma de atacar este problema, la que llamaríamos ahora forma antigua, es utilizar el operador de formato % con cadenas de texto. Observa los siguientes ejemplos: code format="python" import math print 'El valor de PI es aproximadamente %5.3f.' % math.pi print 'Hola %s, estoy cansado.' % 'Pedro'

........

El valor de PI es aproximadamente 3.142. 'Hola Pedro, estoy cansado.' code Como puedes ver el operador % hace que los valores de las variables que se indican se inserten en las posiciones de la cadena también indicadas. ¿Dónde exactamente? Las cadenas de texto se insertan donde indica el **%s**, los decimales con %f (el que sea **%5.3f** quiere decir que ocupa 5 espacios y 3 son decimales, es decir, 3.142)... Actualmente, se prefiere utilizar el método **format** de los datos tipo string. Como ejemplo, veamos cómo se haría lo anterior de la nueva forma: code format="python" import math print 'El valor de PI es aproximadamente {0:.3f}.'.format(math.pi) print 'Hola {0}, estoy cansado.'.format('Pedro')

........

El valor de PI es aproximadamente 3.142. 'Hola Pedro, estoy cansado.' code Los diferentes valores que se incrustan en el texto se indican con {0}, {1}, {2},... y si se quiere aplicar opciones especiales, se escriben dos puntos seguido de ellas, como en {0:.3f}, que indica que se escribe un float con 3 decimales.