10.1 format()
A menudo necesitamos mostrar muchos datos en la consola (en pantalla). No
somos los primeros en enfrentarnos a esto, por lo que en Python ya existe
la función format()
, que permite
unir cadenas y mostrar datos en pantalla de una manera más simple y clara.
La función format()
se utiliza para insertar valores en
una cadena en posiciones específicas. La sintaxis de la función es la siguiente:
"Plantilla de cadena desde {} hasta {}".format(valor1, valor2,…)
Hecho 1. La función format()
es una función
hija de string, por lo que se llama desde una cadena. En lugar de
pasar la cadena a una función, escribimos la cadena, luego un punto, y
luego llamamos a la función format()
pasándole sus
parámetros.
Hecho 2. La función format()
rellena
la cadena plantilla con los valores pasados. Convierte los valores
pasados a cadenas (si había números, por ejemplo) y los inserta en
los lugares designados por los símbolos {}
. Tal lugar para insertar un valor
se llama placeholder
.
Uso básico:
welcome_message = "Hola, {}, ¡bienvenido a {}!"
print(welcome_message.format("Anna", "nuestra tienda"))
Resultado:
"Hola, Anna, ¡bienvenido a nuestra tienda!"
Formateo de números:
output = "Datos: {0:.2f} y {1:.2f}".format(3.1415926, 2.71828)
print(output)
Resultado: "Datos: 3.14 y 2.72"
—
demostración de la limitación de salida a dos decimales.
Uso de palabras clave:
output = "{name} trabaja en {company}"
print(output.format(name="Sergey", company="Google"))
Resultado:
"Sergey trabaja en Google"
El uso de format()
mejora la legibilidad y
mantenibilidad del código, permitiendo cambiar fácilmente el formato sin
necesidad de editar toda la cadena.
10.2 f-strings
Desde la versión 3.6 de Python, apareció un nuevo tipo de cadenas —
f-strings
, que literalmente significan "formatted string". Estas cadenas
mejoran la legibilidad del código y también funcionan más rápido que otras formas de
formateo.
Para usar f-strings
, se coloca la letra
"f"
o "F"
antes de la cadena. Las expresiones para insertar
se colocan entre llaves {}
:
Ejemplo:
force = "Lado Oscuro"
message = f"¡Que la fuerza {force} te acompañe!"
print(message) # Resultado: ¡Que la fuerza Lado Oscuro te acompañe!
¡Importante! Entre las llaves se pueden indicar variables, que estén disponibles en el ámbito actual (de eso hablaremos más tarde) y Python las convertirá automáticamente en cadena e insertará en el lugar correcto.
Ejemplo:
age = 28
message = f"Tengo {age} años"
print(message) # Resultado: Tengo 28 años
Además, en las llaves es posible usar expresiones con un montón de variables.
Ejemplo:
birth_year = 1985
current_year = 2024
message = f"Tengo {current_year - birth_year} años"
print(message) # Resultado: Tengo 39 años
Bajo el capó, todo esto se convierte en una llamada a la función
format()
, pero el nuevo enfoque es realmente más conveniente.
Disfruta utilizándolo.
10.3 Parámetros sep
y end
En Python la función print()
proporciona
dos parámetros útiles — sep
y end
,
que permiten controlar la salida de datos. Estos parámetros hacen
que la función print()
sea más flexible y pueden ser utilizados
para formatear la salida sin necesidad de funciones adicionales o operaciones
complejas de cadenas.
El parámetro sep
define el símbolo o
cadena que se utilizará para separar varios valores pasados a print()
. Por defecto, sep
está configurado como un espacio. Esto significa que si pasas varios
argumentos a print()
, estarán separados por
un espacio.
Pero si deseas que los datos estén separados por algo distinto a un espacio, como por
ejemplo una coma, entonces necesitas al final añadir el parámetro
sep
y
asignarle una nueva cadena separadora.
Ejemplo:
print("Hello", "world") # Resultado: Hello world
print("Hello", "world", sep=", ") # Resultado: Hello, world
O puedes, por ejemplo, hacer que cada valor se imprima en
una nueva línea. Entonces al parámetro sep
debes asignarle
el carácter especial de salto de línea — representado por el par de símbolos
“\n”
.
Ejemplo | Explicación |
---|---|
|
|
El parámetro end
define lo que se imprimirá después de todos los valores pasados. El valor por defecto de end
es el caracter de nueva línea (\n)
, lo que significa que hará un salto de línea después de ejecutar print()
.
Al cambiar end
, puedes controlar cómo se muestran los datos, por ejemplo, para continuar la impresión en la misma línea:
Ejemplo:
print("Hello", end=" ")
print("world") # Resultado: Hello world
El uso de sep
y end
puede ser extremadamente útil en escenarios donde se requiere un formateo particular de la salida, como al crear tablas, informes o al mostrar datos en una única línea sin saltos automáticos a la nueva línea.
Además de simplificar el código y eliminar la necesidad de añadir manualmente separadores o controlar manualmente los saltos de línea, el uso de sep
y end
mejora la legibilidad y mantenibilidad del código.
GO TO FULL VERSION