Curso de Python Intermedio para  Entornos virtuales y PEP8

Modificadores de formato en f-strings de Python

Curso de Python Intermedio para Entornos virtuales y PEP8

Contenido del curso

Modificadores de formato en f-strings de Python

Resumen

Los modificadores de formato en f-strings de Python te permiten mostrar números, fechas y textos de forma legible para cualquier persona, sin cálculos manuales. Si ya dominas los fundamentos de f-strings, este es el paso para darle un uso profesional en desarrollo. Ideal para quienes escriben reportes, tablas o manejan datos financieros.

Qué son los modificadores de formato y cómo se aplican

Un modificador de formato es una instrucción que le das a una variable dentro de un f-string para cambiar cómo se ve al imprimirla. La sintaxis es sencilla: escribes la variable, agregas dos puntos y luego el modificador que necesitas.

¿Cómo se aplica un modificador de formato en un f-string? Después del nombre de la variable, escribes dos puntos y el modificador. Por ejemplo, {precio:,.2f} muestra el número con separador de miles y dos decimales.

El caso más simple es la coma, que agrega un separador de miles para que un humano lea el valor con facilidad [00:34]. Si tienes un bank_balance con un número grande, escribir {bank_balance:,} convierte ese valor plano en algo mucho más claro de leer.

Cómo controlo los decimales de un número

Cuando trabajas con precios o valores decimales, puedes decidir cuántas cifras después del punto quieres mostrar. Usas el punto seguido del número de decimales y la letra f.

  • Con {stock_price:.1f} obtienes un solo decimal, por ejemplo 1.4.
  • Con {stock_price:.2f} obtienes dos decimales, por ejemplo 1.41.
  • Python redondea automáticamente el valor para mostrarlo más legible [01:41].

Este redondeo automático es clave: no tienes que calcular nada, el f-string lo hace por ti.

Cómo agrego ceros a la izquierda y alineo texto

Otro uso muy práctico es rellenar con ceros a la izquierda, algo común cuando manejas IDs de usuario. Con {user_id:03d} fuerzas a que el número siempre tenga tres dígitos, así que el 1 se muestra como 001 [02:23].

¿Qué pasa si el número supera los dígitos que definí? No se borra nada. Si defines cuatro dígitos y el valor es más largo, Python muestra el número completo tal cual, porque el formateo de relleno ya no aplica.

Si cambias a {user_id:04d}, tendrás cuatro dígitos. Y si el ID fuera 100, solo agregaría un cero para completar el ancho. La letra d indica que trabajas con un número entero.

Cómo alineo precios y productos en una tabla

Los f-strings también sirven para armar tablas alineadas. Aquí es donde el detalle importa: olvidar la letra f al inicio del string hace que las variables se muestren como texto literal en vez de sus valores [04:00].

Para alinear usas los signos de mayor o menor después de los dos puntos y un número de ancho:

  1. Con {product:<15} alineas el texto a la izquierda ocupando 15 espacios.
  2. Con {product:>15} alineas el texto a la derecha.
  3. Puedes combinar productos a la izquierda y precios a la derecha para sumarlos con la vista.

Usando \n, que funciona como un enter dentro del contenido, puedes duplicar líneas y simular una lista de varios productos alineados [05:34]. Esto es justo lo que necesitarías en una iteración que liste muchos elementos.

Cómo formateo fechas con f-strings en Python

Uno de los casos más comunes es imprimir fechas legibles. Primero importas la clase con from datetime import datetime, cuidando de no confundir el paquete con la clase porque tienen el mismo nombre [06:36].

Al crear una fecha como 2024-12-05 a las diez de la mañana e imprimirla sin formato, Python devuelve el formato ISO, que es preciso pero difícil de leer [07:35].

Con modificadores puedes transformarla:

  • El código a devuelve el día de la semana abreviado.
  • El código d devuelve el número del día.
  • Combinando varios llegas a algo como "jueves 5 de diciembre del 2024 a las 10:10 a.m." [08:19].

Esta legibilidad importa mucho en desarrollo, porque mostrar textos claros hace la diferencia frente a un dato crudo que casi nadie entiende.

Qué otros formateadores ofrece Python

Los ejemplos anteriores son los más usados, pero Python tiene una variedad extensa. Dos que vale la pena explorar:

  • Un formateador para mostrar porcentajes.
  • Un formateador para mostrar números científicos.

Como reto, intenta escribir en una sola línea cómo formatear un porcentaje o un número científico. Un dato extra que quiero compartirte: los f-strings también sirven para hacer debugging, porque puedes insertar variables y mostrar errores difíciles de encontrar de forma más rápida [08:55].

¿Cuál de estos modificadores usarás primero en tu código? Cuéntamelo en los comentarios y comparte tu solución al reto de porcentajes o notación científica.