La forma moderna y elegante de mostrar datos en Python. Aprenderás a combinar texto, variables y expresiones en tus salidas con print().
Hasta ahora, para mostrar el valor de una variable junto con un texto teníamos que unirlos con el operador +, lo que obliga a convertir números con str() y resulta difícil de leer. Las f-strings resuelven eso de forma elegante.
f o F antes de las comillas. Dentro de ella podés insertar variables y expresiones usando marcadores de posición {} — Python los reemplaza automáticamente al ejecutar el print().nivel con str() — Python lo hace solo. Solo hace falta la f antes de las comillas y los {} alrededor de la variable.
¿Cuál de estas opciones define correctamente una f-string?
print("Hola {nombre}")print(f"Hola {nombre}")print("f Hola {nombre}")print(f "Hola " + nombre){}
Los {} no solo aceptan variables: también podés poner operaciones matemáticas, llamadas a funciones y cualquier expresión válida de Python. El resultado se calcula primero y luego se inserta en la cadena.
{} es ejecutado como código Python. Cualquier expresión válida funciona, desde sumas hasta llamadas a funciones.
print(f"Resultado: {3 * 4 + 2}")¿Qué imprime print(f"Resultado: {3 * 4 + 2}")?
Resultado: {3 * 4 + 2} — muestra los {} tal cualResultado: 12 + 2 — multiplica pero no sumaResultado: 14 — evalúa toda la expresión:
Dentro de los {} podés agregar un modificador de formato usando dos puntos : seguido de la especificación. Esto te da control preciso sobre cómo se muestra un número: decimales, separadores, alineación y más.
| Modificador | ¿Qué hace? | Ejemplo | Resultado |
|---|---|---|---|
:.2f | 2 decimales fijos | f"{3.1:.2f}" | 3.10 |
:.0f | Sin decimales (redondea) | f"{3.7:.0f}" | 4 |
:, | Separador de miles | f"{1000:,}" | 1,000 |
:.1% | Porcentaje con 1 decimal | f"{0.75:.1%}" | 75.0% |
:<N | Alinea a la izquierda (ancho N) | f"{'hola':<8}" | hola |
:>N | Alinea a la derecha (ancho N) | f"{'hola':>8}" | hola |
print(f"{1234567:,}")¿Qué modifcador usarías para mostrar el número 9.8 siempre con dos decimales, como 9.80?
:.0f:2:.2f:,Python tiene tres formas de combinar texto y variables. Conocerlas te ayuda a entender código ajeno y a elegir siempre la mejor opción.
| Método | Legibilidad | Formato | Recomendada |
|---|---|---|---|
Concatenación + | Baja | Manual con str() | No |
.format() | Media | Sí, pero verboso | Solo si < Python 3.6 |
f-string | Alta ✓ | Inline y directo ✓ | Sí ✓ |
¿Cuál de estas afirmaciones sobre las f-strings es correcta?
+str() para incluir números{}strLas f-strings brillan especialmente cuando necesitás generar mensajes dinámicos. Acá algunos patrones frecuentes que vas a encontrar en programas reales.
nota = 7.666; print(f"{nota:.1f}")Tenés nota = 7.666. ¿Qué imprime print(f"Nota: {nota:.1f}")?
Nota: 7.666 — imprime todos los decimalesNota: 7.7 — redondea a 1 decimalNota: 7.66 — trunca sin redondearValueErrorPersonaje: Zelda | Nivel: 5 | Vida: 80/100
Producto: AuricularesPrecio original: $450.00Descuento: 20%Precio final: $360.00