Los f-strings en Python permiten formatear texto de forma clara y eficiente, integrando variables, operaciones y lógica directamente entre llaves. Aquí verás cómo usarlos bien, por qué mejoran la legibilidad frente a .format y qué posibilidades abren para cálculos, métodos y condicionales en una sola línea.
¿Qué son los f-strings en Python y por qué usarlos?
Los f-strings se crean anteponiendo una letra f al inicio de las comillas. Con eso, puedes colocar expresiones dentro de llaves y Python las evalúa al imprimir. Según se comenta, fueron agregados desde Python 3.6 y funcionan en versiones actuales como 3.13, con mejoras de rendimiento y legibilidad frente a .format.
Mejor legibilidad: ves variables y lógica en el lugar donde se imprimen.
Mejor rendimiento: el formateo es más rápido en versiones modernas de Python.
Sintaxis directa: basta con escribir f"... {expresión} ...".
¿Cómo verificar la versión de Python?
Confirma que Python sea 3.6 o superior. El ejemplo menciona 3.13 como versión instalada, por lo que es compatible con f-strings.
¿Qué ventaja tienen sobre format?
Con .format las variables quedan lejos del texto, lo que dificulta leer qué se inserta. Con f-strings, la interpolación es inmediata y el código se entiende de un vistazo.
Ejemplo equivalente con .format que resulta menos claro:
nombre ="Ana"texto ="Hola, {}".format(nombre)print(texto)
¿Qué precaución con el editor?
Si antepones la f pero no usas llaves, algunos editores o linters como “Ruf” podrían eliminar la f automáticamente por no aportar nada. Asegúrate de incluir al menos una expresión entre llaves.
¿Cómo insertar variables, operaciones y funciones dentro de f-strings?
Dentro de las llaves puedes colocar variables, operaciones matemáticas y llamadas a métodos o funciones. Esto reduce errores y concentra la lógica donde se muestra el texto.
¿Cómo interpolar variables?
nombre ="Ana"saludo =f"Hola, {nombre}"print(saludo)
Interpola el valor de una variable entre llaves.
Mantiene el texto y los datos juntos.
¿Cómo ejecutar operaciones y cálculos?
Operaciones aritméticas simples en línea.
suma =f"La suma es {1+1}"print(suma)# La suma es 2
Cálculos más expresivos, como una edad a partir del año de nacimiento.
nombre ="Ana"anio_nacimiento =2020anio_actual =2025# ejemplo de año actualmensaje =f"Hola, {nombre}, tu edad es {anio_actual - anio_nacimiento} años"print(mensaje)
Ventaja: legibilidad y menor propensión a errores, porque el cálculo vive en la misma línea del texto.
¿Cómo llamar métodos y funciones?
Puedes invocar métodos de cadenas como .upper directamente en el f-string.
nombre ="Ana"texto =f"Hola, {nombre.upper()}"print(texto)# Hola, ANA
También puedes llamar funciones propias si lo necesitas.
El editor puede autocompletar porque estás escribiendo código Python normal dentro de las llaves.
¿Cómo usar condicionales y otros recursos dentro de f-strings?
Los f-strings aceptan expresiones, incluyendo condicionales tipo if/else en línea. Además, permiten acceder a estructuras como diccionarios y, de forma avanzada, aplicar formateadores con el operador dos puntos.
¿Cómo escribir condicionales inline?
nombre ="Ana"edad =20msg =f"Hola, {nombre}, eres {'mayor de edad'if edad >=18else'menor de edad'}"print(msg)
Útil para pluralizar o ajustar textos según cantidades.
Mantiene la lógica condicional cercana al mensaje.
¿Dónde aplicar plural o singular?
Cuando generas textos con conteos.
Para diferenciar “mayor”/“menor”, “elemento”/“elementos”, según el número.