3 Trucos De Python Que Mejorarán Tu Código

Roman Orac
Aug 10, 2021


Llevo más de 10 años codificando en Python. Hubo un tiempo en el que pensé que lo sabía todo, lo que era una clara señal de que me estaba volviendo complaciente.

Entonces decidí investigar un poco sobre las mejoras de Python. Esas versiones 3.6, 3.7, 3.8 de Python no están ahí por nada, ¿verdad?

Después de revisar las notas de la versión, encontré estos trucos que me gustaría compartir con ustedes.

Al leer este artículo, aprenderás:
  • Cómo formatear enteros grandes de forma más clara
  • Una mejor manera de trabajar con las rutas de los archivos
  • La forma correcta de formatear cadenas


1. Formateo de big integers


Using Underscores in Numeric Literals. Image by Roman Orac

A partir de la versión 3.6 de Python se pueden utilizar guiones bajos para facilitar la lectura de los números. Ver PEP 515 para más detalles.

Veamos un ejemplo:

a = 1000000000
# Is variable a billion or 100 millions?
# Let's use underscores to make it easier to read
a = 1_000_000_000
# You can group numbers as you like
b = 1_0_9_0

También funciona con direcciones hexadecimales y bits de agrupación.

# grouping hexadecimal addresses by words
addr = 0xCAFE_F00D
# grouping bits into nibbles in a binary literal
flags = 0b_0011_1111_0100_1110

2. Pathlib



Trabajar con rutas puede ser un reto, especialmente si tu código necesita ejecutarse en múltiples sistemas operativos.

Por suerte para nosotros, la biblioteca estándar de Python tiene pathllib.

Veamos un ejemplo:

from pathlib import Path
path = Path("some_folder")
print(path)
# output: some_folder
# We can add more subfolders in a readable way
path = path / "sub_folder" / "sub_sub_folder"
print(path)
# output: some_folder/sub_folder/sub_sub_folder
# make path absolute
print(path.resolve())
# output: /Users/r.orac/some_folder/sub_folter/sub_sub_folder

A pesar de utilizar el signo / como separador para concatenar rutas, pathlib lo hace agnóstico al sistema operativo, lo que significa que también funcionará en el sistema operativo Windows.

Lea también: Usando Python y Pandas Datareader Para Analizar Datos Financieros

3. Simplificar el formato de las cadenas



Formato de cadenas f en Python. Imagen de Roman Orac

Estoy acostumbrado a utilizar el formato de cadena de la vieja escuela en Python:

person = 'Roman'
exercise = 0
print("%d-times %s exercised during corona epidemic" % (exercise, person))
# output
# 0-times Roman exercised during corona epidemic

Hasta hace poco, no sabía que había una forma mejor (más moderna) de formatear cadenas en Python.

En Python 3.6, PEP 498 introduce la Interpolación Literal de Cadenas, que simplifica el formato de las cadenas.

Podemos reescribir el ejemplo anterior a:

person = 'roman'
exercise = 0
print(f"{exercise}-times {person} exercised during corona epidemic")
# output
# 0-times Roman exercised during corona epidemic

Una cadena prefijada con f se conoce como fstring.

Las cadenas f admiten incluso operaciones matemáticas:

print(f"{exercise+1}-times {person} exercised during corona epidemic")
# Output
# '1-times roman exercised during corona epidemic'

Pero no hice el ejercicio durante la epidemia de la corona por lo que añadir +1 en la fstring sería simplemente una mentira 😂

¿Qué pasa con el formato de los valores flotantes?

f = 0.333333
print(f"this is f={f:.2f} rounded to 2 decimals")
# Output
this is f=0.33 rounded to 2 decimals

Conclusión


Estos trucos de Python harán que tu código sea más conciso y que la codificación sea más agradable.

Muchos desarrolladores de Python no conocen estos trucos - tú ya no eres uno de ellos.

Antes de irte

Sígueme en  Twitter, donde tuiteo regularmente sobre Ciencia de Datos y Aprendizaje Automático.

Lea también: Entendiendo El Módulo Collections de Python

“3 Trucos De Python Que Mejorarán Tu Código”
– Roman Orac twitter social icon Tweet


Compartir este artículo:

0 Comentarios

Crear un comentario
Ingresar para Comentar

Artículos Relacionados

Nov 25, 2021

5 Consejos para Superar Una Entrevista de Trabajo para una Vacante de Científico de Datos

5 Tips To Ace Your Job Interview For A Data Scientist Opening.PNG 795.94 KBImage SourceLos aspirantes a científicos de datos tienen un futuro brill...

Daniel Morales
Por Daniel Morales
Nov 12, 2021

¿Cuándo Es Mejor Evitar el Uso de Deep Learning?

IntroducciónEste artículo está dirigido a los científicos de datos que pueden considerar el uso de algoritmos de aprendizaje profundo, y quieren sa...

Matt Przybyla
Por Matt Przybyla
Oct 16, 2021

6 Conceptos de Estadística Avanzada en Data Science

El artículo contiene algunos de los conceptos estadísticos avanzados más utilizados junto con su implementación en Python.En mis artículos anterior...

Nagesh Singh Chauhan
Por Nagesh Singh Chauhan
Icon

Únete a nuestra comunidad privada en Slack

Manténgase al día participando de ésta gran comunidad de data scientists en latinoamérica. Hablamos sobre competiciones en data science, cómo estamos resolviendo los retos, modelos de machine learning aplicados a las competiciones, técnicas novedosas y mucho más!

 
Te enviaremos el link de invitación a tu email de forma inmediata.
arrow-up icon