Salida de datos por pantalla
Como definición base, podemos identificar la función print() de Python como una utilidad orientada a mostrar por pantalla aquella información deseada, ya sea desde una simple presentación del programa que ejecutarán nuestras líneas de código o mostrando al usuario lo realizado por las mismas.
Argumentos de la función print
La estructura base de print es:
print(value, sep, end, file, flush)
Los tres primeros argumentos son los más interesantes. Esta es su utilidad:
value: Se entiende como los valores que vamos a mostrar en pantalla. Este puede ser un texto definido entre comillas, variables, etc.sep: Con esto, definimos cómo se van a separar los valores definidos anteriormente, pudiendo definir desde un simple espacio en blanco hasta casi cualquier cosa. Por defecto es un espacio.end: Sirve para definir qué deseamos que aparezca al final de la cadena de texto que aparece por pantalla. Por defecto es el carácter\n(salto de línea).
Uso simple
Para el uso más simple existente ya tenemos ejemplos en apartados anteriores. Sin embargo, la estructura para concatenar múltiples textos es la siguiente:
print("Texto 1 " + "Texto 2 " + "Texto 3")
Mostraría por pantalla lo siguiente:
Texto 1 Texto 2 Texto 3
Esta podría alargarse tanto como quisiéramos. Sin embargo, presenta varios problemas que pueden afectarnos. Primero, las separaciones debemos definirlas dentro de las cadenas de texto y además debemos asegurarnos de que las variables sean de tipo string. Si una variable es numérica o de cualquier otro valor, esta sintaxis no funcionará y producirá un error.
Podemos concatenar texto para que se muestre por pantalla indicando cada cadena como un argumento distinto. De este modo, las variables no necesitan ser de tipo numérico. Este es el modo recomendado.
var_string = 'Texto 2'
var_numerica = 6
print("Texto 1", var_string, var_numerica)
Mostraría por pantalla lo siguiente:
Texto 1 Texto 2 6
Como podemos observar, se utiliza como separador de cada cadena el espacio y al finalizar la cadena se introduce un salto de línea.
Podemos modificar el argumento sep produciendo los siguientes resultados.
variable = 2
print("Texto1", "Texto2", variable, sep=(","))
# Salida: Texto1,Texto2,2
print("Hola", "mundo", sep = "-")
# Salida: Hola-mundo
Para separarlos mediante tabulación se emplea el carácter \t:
print("Hola", "mundo", sep="\t")
# Salida: Hola mundo
También podemos modificar el argumento end. Si lo modificamos recordad que no se añade salto de línea.
variable = 2
print("Texto 1", "Texto 2", variable, sep=(","), end=(". Y listo.\n"))
# Salida: Texto 1,Texto 2,2. Y listo.
Cadenas f
El método format() permite sustituir el interior de unos corchetes por variables o cadenas. Este método puede ejecutarse añadiendo una f antes de la definición de la cadena.
age = 20
print(f"tienes {age} años")
# Salida: tienes 20 años
También se puede utilizar del siguiente modo:
print('El helado de {sabor} es mi {adjetivo}.'.format(sabor='pistacho', adjetivo='favorito'))
# Salida: El helado de pistacho es mi favorito.
Este método es quizás algo más complejo, por lo que profundizamos en su explicación:
La base a entender sería:
str.format()
-
Donde
strsería una cadena de texto. En este caso tenemos:"El helado de {sabor} es mi {adjetivo}."En esta cadena estamos indicando que
saboryadjetivoserán reemplazados por un valor que nosotros proporcionemos dentro deformat(). -
La función
format()recibe lo siguiente:format(sabor='pistacho', adjetivo='favorito')Estos parámetros formatearán la cadena de texto proporcionada sustituyendo los identificadores
saboryadjetivopor los valores asignados como argumentos. Este tipo de argumentos se denominan parámetros clave (keyword arguments).
De forma alternativa, se podría hacer con índices de la siguiente manera (se denomina positional arguments):
'El helado de {0} es mi {1}.'.format('pistacho','favorito')
Alinear texto
Se puede alinear texto usando el parámetro {:>Numero}.format.
Por ejemplo:
print( "{:>30}".format("palabra") )
Esto significa que alinea "palabra" 30 caracteres a la derecha.
palabra
Añadir líneas en blanco
La función print también puede ser utilizada para añadir líneas en blanco de forma sencilla y hacer el programa más legible.
print("Texto")
print()
print("más texto")
Texto
más texto
Decimales con la función print
También se puede especificar los decimales con los que queremos que se muestre una operación. Para esto se utiliza la siguiente simbología :0.3f, los : indican la edición de formato, . para formato decimal y 3 el número de decimales que debe mostrarnos por pantalla, el f al final indica el tipo, en este caso de punto fijo.
Ejemplo:
pi = 3.141595
print(f"{pi:0.4f}") # 3.1415
a = 6.5555
print(f"{a:0.2f}") # Salida: 6.56
b = 6.4444
print(f"{a:0.1f}") # Salida: 6.4
Con este método se aplica redondeo al número. Sería similar a utilizar función round().
Ejemplo:
pi = 3.141595
print(round(pi * 1000) / 1000 ) # 3.1415
a = 6.5555
print(round(a * 100) / 100) # Salida: 6.56
b = 6.4444
print(rounb(b * 10) / 10) # Salida: 6.4