Saltar a contenido

Salida por pantalla

La función print() es la forma general de mostrar información por pantalla. Generalmente podemos mostrar texto y variables separándolos con comas:

v = "otro texto"
n = 10

print("Un texto",v,"y un número",n)
Un texto otro texto y un número 10

El método .format()

Es una funcionalidad de las cadenas de texto que nos permite formatear información en una cadena (variables o valores literales) cómodamente utilizando identificadores referenciados:

c = "Un texto '{}' y un número '{}'".format(v,n)
print(c)
Un texto 'otro texto' y un número '10'

También podemos referenciar a partir de la posición de los valores utilizando índices:

print( "Un texto '{1}' y un número '{0}'".format(v,n) )
print(c)
Un texto '10' y un número 'otro texto'

O podemos utilizar identificador con una clave y luego pasarlas en el format:

print( "Un texto '{v}' y un número '{n}'".format(n=n,v=v) )
Un texto 'otro texto' y un número '10'
print("{v},{v},{v}".format(v=v))
otro texto,otro texto,otro texto

Formateo avanzado

Este método soporta muchas técnicas de formateo, aquí algunos ejemplos.

Alineamiento a la derecha en 30 caracteres:

print( "{:>30}".format("palabra") )  
                       palabra

Alineamiento a la izquierda en 30 caracteres (crea espacios a la derecha):

print( "{:30}".format("palabra") )
palabra                       

Alineamiento al centro en 30 caracteres:

print( "{:^30}".format("palabra") ) 
           palabra            

Truncamiento a 3 caracteres:

print( "{:.3}".format("palabra") )  
pal

Alineamiento a la derecha en 30 caracteres con truncamiento de 3:

print( "{:>30.3}".format("palabra") )  
                           pal

Formateo de números enteros, rellenados con espacios:

print("{:4d}".format(10))
print("{:4d}".format(100))
print("{:4d}".format(1000))
  10
 100
1000

Formateo de números enteros, rellenados con ceros:

print("{:04d}".format(10))
print("{:04d}".format(100))
print("{:04d}".format(1000))
0010
0100
1000

Formateo de números flotantes, rellenados con espacios:

print("{:7.3f}".format(3.1415926))
print("{:7.3f}".format(153.21))
  3.142
153.210

Formateo de números flotantes, rellenados con ceros:

print("{:07.3f}".format(3.1415926))
print("{:07.3f}".format(153.21))
003.142
153.210

Format simplificado

La actualización de Python 3.6 trajo la novedad de poder concatenar variables y cadenas de una forma muy cómoda sin utilizar el format().

Hasta ahora para concadenar hacíamos lo siguiente:

nombre = "Héctor"
texto = "Hola {}".format(nombre)
print(texto)
Hola Héctor

La nueva sintaxis nos permite ahorrarnos el método:

nombre = "Héctor"
texto = f"Hola {nombre}"
print(texto)
Hola Héctor

Sólo tenemos que indicar f antes de la cadena y sustituir las variables por sus nombre.


Última edición: 25 de Septiembre de 2018