🎧 Escuchar esta guía
La respuesta en una sola pantalla
name, price, big, ratio = "Ada", 49.9, 1234567, 0.8756
f"{name}" # Ada básico
f"{price:.2f}" # 49.90 2 decimales ← lo más buscado
f"{big:,}" # 1,234,567 separador de miles
f"{ratio:.1%}" # 87.6% porcentaje
f"{price:>10.2f}" # " 49.90" alineado a la derecha, ancho 10
f"{name:<10}|" # "Ada |" alineado a la izquierda (¡tablas!)
f"{name:^10}" # " Ada " centrado
f"{42:05d}" # 00042 rellenado con ceros
f"{255:x}" f"{255:b}" # ff / 11111111 hexadecimal, binario
f"{2+3}" # 5 admite cualquier expresión
f"{price=}" # price=49.9 impresión de depuración (3.8+) ← infravalorada
f"{{literal}}" # {literal} llaves escapadas
Fechas: el otro gran caso
from datetime import datetime
now = datetime.now()
f"{now:%Y-%m-%d}" # 2026-07-22
f"{now:%H:%M}" # 14:30
f"{now:%b %d, %Y}" # Jul 22, 2026
f"{now:%A}" # Wednesday
Ancho y precisión dinámicos
width, prec = 12, 3
f"{price:{width}.{prec}f}" # " 49.900" — los especificadores también pueden ser variables
La trampa de las comillas anidadas
En Python ≤3.11,
En Python ≤3.11,
f"{d["key"]}" produce un SyntaxError: las comillas dobles interiores cierran la cadena. Usa comillas distintas: f"{d['key']}". Python 3.12 y posteriores permiten anidar el mismo tipo de comillas, pero, si tu código puede ejecutarse en versiones antiguas, mezclar estilos sigue siendo el hábito seguro.Una opinión sincera
Verás el formato con
Verás el formato con
%s y .format() en código antiguo: aprende a leerlos, pero no los uses al escribir código nuevo. Hay una excepción: el registro de eventos (logger.info("x=%s", x)) conserva a propósito el estilo con %, para que la cadena solo se construya cuando ese nivel de registro está activo.📚 Esta es una página de nuestra serie de Python. Curso intensivo completo, con audio para el trayecto: Python en 10 minutos →