Tips para mejorar tu código Python

Publicado por Danilo Toro en

Una de las competencias que tiene un buen desarrollador Python, es que conoce muy bien las facilidades que nos entrega este lenguaje para generar un código limpio y fácil de leer y realizar.

En los últimos 6 meses he aprendido muchísimo de Python y por es esto que compartiré algunos tips para mejorar tu código python y que me han hecho mejor desarrollador. Vamos!

Deja de usar range()

Muchas veces cuando iteramos una Lista, necesitamos el índice además del elemento, ya sea para modificarlo o para para mostrar su posición en la lista, y hacemos algo como:

Si bien el código funciona, usar “range(len(number_list))”, y “number_list[i]” en cada comparación, hace que nuestro código deje de ser fácil de leer y en algunos casos nos hace escribir más innecesariamente.

Para iterar una lista, Python tiene el método enumerate(), la cual nos devuelve una tupla con un contador y el elemento.

Esta función recibe como parámetros: el elemento iterable y el contador inicial. Por defecto, si no se entrega el contador inicial, este comenzará comenzará desde 0.

Veamos el mismo ejemplo, pero usando enumerate().

A diferencia del ejemplo con range(), ahora tenemos el elemento además del índice, y con esto, un código más simple.

List comprehension

Usar List comprehension te servirá para hacer listas más simples y mejorarás muchísimo tu código Python.

Cuando creamos una lista desde un ciclo, hacemos algo como:

En el código de anterior, obtener los números pares de una lista y la guardamos en otra. Esas 4 líneas de código se puede resumir en una usando List comprehension:

Esto se puede leer como: “El número, por cada número en la lista número, si este es divisible por 2”. Puedes hacer lo mismo con diccionarios y sets.

Reduce la cantidad de “if” con iterables

Anidar if es una de los errores más comunes que uno comete cuando inicia como desarrollador. Usar if está bien, pero abusar de ello convertirá nuestro código en un espagueti que no de Pythonico no tiene nada.

Cuando desarrollaba una aplicación que recibía inputs del usuario hacía algo como:

En el código anterior, tengo un serie de botones que al presionarlos invoca diferentes funciones. Con un par de botones puede funcionar bien, pero cuando se tiene una cantidad enorme de botones el código se vuelve poco legible y más difícil de mantener.

Usar iterables como un diccionario, hará que el código sea más mantenible y legible:

Any y all

Más de alguna vez tendrás que comprobar si existe algún elemento o si todos los elementos en una lista que cumpla alguna condición. Cuando comenzamos a programar, nuestra lógica nos haría escribir algo como:

Cuatro lineas de código para saber si existe o no un número impar, y si queremos saber si todos son pares, tendríamos que crear una variable que cambie cuando exista un impar y si no cambia entonces todos son par y crece el código innecesariamente.

Para esto tenemos any y all:

La lógica es la misma, pero tenemos todo en una sola línea y sigue siendo claro lo que queremos hacer “Si existe algún numero no divisible por 2 por cada número en números, imprime un mensaje”.

Puedes encontrar más funciones como estas aquí

Manipula archivos usando “with”

Para leer archivos en python basta con usar la propiedad open() y asignar el resultado a una variable. Si bien no hay problema hacerlo de esta manera, para mi es mucho más limpio hacerlo con with:

Usando with encapsulas el código que maneja tu archivo en un bloque dentro de la identación, así si olvidas usar file.close() no hay problema, ya que al salir de la identación Python cierra el archivo automáticamente y no queda en memoria.

Usa variables descriptivas

Esto es algo obvio pero, aún así, muchos desarrolladores lo pasan por alto. Usar variables descriptivas te ayudará entender el código después de mucho tiempo de haberlo escrito.

El primero lo puedes entender luego de leer con detalle, pero el segundo lo puedes entender en la primera lectura. Además recuerda que nuestro código lo leerán otros desarrolladores, así que debemos escribir código que sea entendible.

Conclusión

En este post te dí algunos de los tips para mejorar tu código Python. Espero que te sean útiles y si conoces algún otro tip, no dudes en déjarlo en los comentarios 👇 para que todos aprendamos.


0 comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *