Ya desde nuestros primeros pasos en Python, nos encontraremos imprimiendo (o mostrando en pantalla) strings, que no son otra cosa que cadenas de caracteres que pueden formar textos. Desde Python 3.6, existe una forma muy interesante de "formatearlos" a la hora de imprimirlos, utilizando el método conocido como f-strings (que en español, significaría "formateo de cadenas literales"). Este método resulta muy útil e interpretable para leer y utilizar en nuestro código, siempre que necesitemos incorporar variables a nuestras cadenas literales.
Sin embargo (tal vez porque sea una de las primeras cosas que aprendemos al programar con Python), rara vez profundizamos demasiado en ellos, y sin embargo existen bajo la superficie algunas características que nos proporcionarán aún más utilidad y sencillez al escribir código. Hoy quiero presentarte algunas de ellas:
Modo de depuración
Supongamos que necesitamos inspeccionar el valor de una variable en un determinado punto de ejecución del código. Por simplicidad, planteemos que son las variables:
nombre = "Escuela"
apellido = "Directa"
Lo que haríamos tradicionalmente, si queremos ver qué valor tiene asociado cada una de ellas, es:
print(f"nombre = {nombre}, apellido = {apellido}")
Y esto a su vez, devolvería:
nombre = Escuela, apellido = Directa
Sin embargo, hay una manera más sencilla y conveniente de "depurar" estos valores, el cual consiste en escribir sencillamente:
print(f"{nombre = }, {apellido = }")
y esto nos devolverá:
nombre = 'Escuela', apellido = 'Directa'
De manera que escribir dentro de las llaves el nombre de la variable seguido de un signo igual, mostrará cada nombre de variable, con su contenido a continuación, haciendo más rápido y a prueba de errores este proceso.
Separadores de miles
Un problema frecuente es poder mostrar grandes números en pantalla tal que sean interpretables. Supongamos que queremos representar los ingresos que obtuvo Microsoft en 2021, los cuales corresponden a 168 mil millones de USD (168000000000, que seguramente expresaríamos con algún separador de miles para que sea más sencillo de leer: 168,000,000,000).
Entonces, definimos una variable que contenga este valor:
ingresos_msft = 168000000000
Los f-strings nos permiten utilizar los símbolos , o _ como separadores de miles al mostrar estos grandes números. Para ello, necesitamos indicar:
- La variable a formatear
- A continuación del nombre de la variable, dos puntos :, con los cuales señalamos que estaremos indicando un formato a aplicar
- A continuación, el símbolo elegido para separar miles (, o _)
- Finalmente una d, que representa un entero (integer)
Por lo que el ejemplo anterior quedaría de esta manera:
ingresos_msft = 168000000000
print(f"{ingresos_msft:,d}")
print(f"{ingresos_msft:_d}")
Devolviendo lo siguiente:
168,000,000,000
168_000_000_000
O, combinándolo con el ejemplo anterior:
ingresos_msft = 168000000000
print(f"{ingresos_msft = :,d}")
print(f"{ingresos_msft = :_d}")
Que devolverá:
ingresos_msft = 168,000,000,000
ingresos_msft = 168_000_000_000
¡Te espero en el próximo artículo para mostrarte aún más trucos de formato!