Modificadores de formato avanzados en FStrings para números y fechas
Clase 6 de 25 • Curso de Python: Entornos virtuales, PEP8 y Manejo de Errores
Resumen
Domina los FStrings con confianza: aprende a aplicar modificadores de formato para números, texto y fechas con ejemplos claros. Verás cómo usar separador de miles, controlar decimales con redondeo, agregar ceros a la izquierda, alinear columnas para tablas con pipeline y dar formato legible a fechas, además de aprovecharlos para debugging más rápido.
¿Cómo dar formato a números con FStrings?
Los modificadores de formato se aplican tras los dos puntos. Esto permite generar salidas más legibles para personas, como separar miles con coma, limitar decimales con redondeo y rellenar con ceros a la izquierda.
¿Cómo aplicar separador de miles?
- Usa la coma para miles: más legible para valores grandes.
- Inserta el modificador tras el valor: dos puntos y coma.
bank_balance = 1234567890
texto = f"Tu saldo en la cuenta bancaria es {bank_balance:,}."
print(texto)
# Tu saldo en la cuenta bancaria es 1,234,567,890.
¿Cómo controlar decimales y redondeo?
- Limita decimales con f: redondea automáticamente.
- Cambia la precisión: .1f, .2f, etc.
stock_price = 1.405
texto = f"El valor del stock es {stock_price:.1f}."
print(texto)
# El valor del stock es 1.4.
texto2 = f"El valor del stock es {stock_price:.2f}."
print(texto2)
# El valor del stock es 1.41.
¿Cómo agregar ceros a la izquierda?
- Define el ancho mínimo con ceros: 03, 04, etc.
- Indicado para IDs y códigos fijos.
user_id = 1
texto = f"Su ID es {user_id:03d}."
print(texto)
# Su ID es 001.
user_id = 100
texto = f"Su ID es {user_id:04d}."
print(texto)
# Su ID es 0100.
¿Cómo alinear texto y crear tablas legibles?
Los FStrings permiten alinear valores con un ancho fijo, ideal para tablas simples con pipeline y sumarios más claros. Puedes alinear a la izquierda o a la derecha cambiando el indicador de alineación.
¿Cómo alinear columnas con anchura fija?
- Especifica ancho tras los dos puntos: 15, 10, etc.
- Alinea texto a la izquierda o números a la derecha para facilitar lectura.
product = "laptop"
price = 1000
print(f"producto | precio")
print(f"{product:<15} | {price:>10,}")
# producto | 1,000
¿Cómo concatenar filas con un salto de línea?
- Usa el backslash n para un retorno de línea: \n.
- Duplica líneas con el mismo formato para simular una tabla.
product = "laptop"
price = 1000
linea = f"{product:<15} | {price:>10,}"
tabla = f"producto | precio\n{linea}\n{linea}"
print(tabla)
¿Cómo formatear fechas y mejorar el debugging?
Una fecha en su forma por defecto sale en formato ISO. Con modificadores, puedes mostrar día, número, mes, año y hora en una versión más legible. Además, los FStrings permiten imprimir variables y mensajes para encontrar errores más rápido.
¿Cómo mostrar una fecha completa legible?
- Crea la fecha con datetime: año, mes, día y hora.
- Aplica códigos de formato para nombre del día, día, mes, año y hora.
from datetime import datetime
fecha = datetime(2024, 12, 5, 10, 10)
print(f"La fecha completa es {fecha}.") # formato ISO por defecto
formato = f"La fecha completa es {fecha:%A, %d de %B del %Y a las %I y %M %p}."
print(formato)
# La fecha completa es jueves, 05 de diciembre del 2024 a las 10 y 10 A.M.
¿Cómo usar FStrings para debugging rápido?
- Inserta variables directamente en el mensaje: más contexto.
- Combina texto y valores calculados en una sola línea.
- Útil para verificar estados y entradas del usuario.
user = "ana"
items = ["A", "B", "C"]
print(f"debug: usuario={user}, total_items={len(items)}, items={items}")
¿Te animas al reto final? Comparte en comentarios tu solución en una sola línea para formatear un porcentaje o un número científico con FStrings, y cuéntanos tu caso de uso favorito.