¿Qué es una f-string?
Las f-strings (formateo de cadenas con formato literal) son una forma sencilla y
poderosa de formatear cadenas de texto en Python. Permiten incluir variables y
expresiones dentro de una cadena de texto, de una manera mucho más legible y
eficiente que métodos anteriores.
Una f-string es simplemente una cadena de texto precedida por la letra f o F, y dentro
de la cadena puedes incluir variables, expresiones o cualquier código que desees entre
llaves {}.
Sintaxis básica:
f"texto {expresión} texto"
f"...": Indica que es una f-string.
{expresión}: Dentro de las llaves, se puede poner una variable, una operación, o
cualquier expresión válida de Python. Python evaluará el valor dentro de las llaves y lo
reemplazará en la cadena.
¿Cuándo se usan las f-strings?
Las f-strings son útiles cuando se necesita crear cadenas de texto que incluyan valores
de variables o resultados de cálculos. Se usan para mejorar la legibilidad y simplicidad
del código en comparación con otros métodos de formateo de cadenas (como % o
.format()).
Ejemplos Sencillos de f-strings
1. Mostrar el valor de una variable
En lugar de usar concatenación o .format(), las f-strings permiten incluir variables de
forma directa:
nombre = "Juan"
edad = 25
print(f"Hola, mi nombre es {nombre} y tengo {edad} años.")
2. Usar expresiones dentro de una f-string
Se pueden realizar cálculos o usar expresiones directamente dentro de las llaves:
a = 10
b=5
print(f"La suma de {a} y {b} es {a + b}.")
3. Convertir tipos de datos automáticamente
No se necesita convertir números a cadenas de forma explícita, ya que Python lo hace
por nosotros en una f-string:
precio = 9.99
cantidad = 3
total = precio * cantidad
print(f"El total a pagar por {cantidad} productos es {total:.2f} euros.")
Aquí, :.2f se usa para formatear el número a 2 decimales.
4. Incluir funciones en una f-string
También puedes llamar a funciones directamente dentro de las llaves:
def obtener_descuento(precio, descuento):
return precio * (1 - descuento)
precio = 100
descuento = 0.2
print(f"El precio con descuento es: {obtener_descuento(precio, descuento):.2f}
euros.")
Ventajas de las f-strings
• Legibilidad: Las f-strings son más fáciles de leer en comparación con otros
métodos de formateo de cadenas.
Por ejemplo, usando concatenación tradicional:
nombre = "María"
edad = 30
print("Hola, " + nombre + ", tienes " + str(edad) + " años.")
Versus usando f-strings:
print(f"Hola, {nombre}, tienes {edad} años.")
• Eficiencia: Las f-strings son más rápidas que otros métodos de formateo en
Python, como el uso de .format() o %.
• Versatilidad: Puedes insertar variables, expresiones matemáticas, resultados
de funciones y todo tipo de datos sin convertir manualmente.
Comparación con otros métodos de formateo
Concatenación tradicional (usando +):
nombre = "Juan"
edad = 25
print("Hola, " + nombre + " tienes " + str(edad) + " años.")
Método .format():
nombre = "Juan"
edad = 25
print("Hola, {} tienes {} años.".format(nombre, edad))
f-strings (el más moderno y legible):
print(f"Hola, {nombre}, tienes {edad} años.")
Formateo avanzado en f-strings
Puedes usar f-strings para formatear los datos, especialmente cuando se trata de
números:
1. Formateo de decimales
pi = 3.14159
print(f"El valor de pi es aproximadamente {pi:.2f}.")
Salida:
El valor de pi es aproximadamente 3.14.
2. Ancho de campo y alineación
Puedes controlar el ancho del campo y alinear el texto dentro de ese campo:
nombre = "Juan"
print(f"|{nombre:10}|") # Alinea a la izquierda en un campo de 10 caracteres
print(f"|{nombre:>10}|") # Alinea a la derecha
print(f"|{nombre:^10}|") # Centra en el campo
Las f-strings es una herramienta moderna y eficiente para formatear cadenas en
Python. Ofrecen una forma más legible, simple y rápida de incluir variables,
expresiones y resultados de funciones dentro de una cadena de texto.