Tips para mejorar nuestro código Python



@eduardo_gpg

Número de visitas 863

Tiempo de lectura 3 min

23 Enero 2023

La legibilidad en nuestro código es algo que sin duda no debemos pasar por alto. A mayor legibilidad más fácil será poder comprender nuestro código, permitiendo que este sea mucho más fácil de modificar y por lo tanto mucho más fácil de mantener.

En Python, al igual que en otros lenguajes de programación, existen un par de "reglas" las cuales dan la pauta para poder escribir un código mucho más Pythonico. Es decir, código que sigue el estándar de codificación PEP8 un estándar propuesto por la comunidad Python. 🐍

Es por ello que, en esta ocasión, me gustaría compartir con todos ustedes un par de puntos que sin duda hará que nuestro código en Python sea mucho más legible y por supuesto Pythonico.

Bien, sin más introducción, comencemos con este listado.

Variables 🦗

Comencemos con el tema de variables. Verás, en Python, siempre que deseemos nombrar a una variable, lo haremos usado la nomenclatura snake_case, donde todos los caracteres del nombre deben encontrarse en minúsculas. Y en caso el nombre se conforme por 2 o más palabras, estas palabras debe unirse mediante un guion bajo.

Ejemplos..

nombre  = 'Cody
nombre_usuario = 'Cody123'
titulo_curso = 'Curso profesional de Python'
version_base_datos = 3.0

De igual forma es importante mencionar que, al asignar un valor a una variable deben existir espacios entre la variable, el carácter igual y el valor que deseamos asignar.

Ejemplos..

# Correcto
nombre_variable = 'Example'
# Incorrecto 
nombre_variable='Example'

Constantes 🦀

Desafortunadamente en Python no existen como tal constantes, algo que podemos extrañar mucho de otros lenguajes de programación. Por lo tanto, siempre que deseemos expresar que una variable sea tratada como una constantes (que no modifique su valor en tiempo de ejecución) recurriremos al la siguiente nomenclatura. Colocaremos todos los caracteres de la variable en mayúsculas. Y en caso el nombre de la constante se conforme por 2 o más palabra uniremos estas palabras mediante un guion bajo.

SETTING = True
DEBUG = False
PORT_NUMBER = 3306

Indentación 🐧

Si bien en Python podemos indentar nuestro código mediante tabs o espacios, lo recomendable es siempre hacerlo mediante espacios, siendo estos 4 el estándar. Esto aplicar al crear nuevos bloques, ya sea en ciclos, condicionales, funciones, métodos, clases, paquetes, contextos etc...

Ejemplo.

if  <condition>
    print('Creamos un nuevo bloque con 4 espacios')

Métodos y funciones

Ahora hablemos de métodos y funciones. Al igual que con las variables, haremos uso de la nomenclatura snake_case para el nombre de los métodos y las funciones, los parámetros se encontrarán separaremos mediante una coma y separados por un espacio.

Para definir funciones o clases vacías haremos uso de la palabra reservada pass.

De igual forma, si trabajamos con 2 o más funciones/métodos en un mismo módulo (archivo) estas debe encontrarse separadas 2 espacios entre cada una.

Ejemplo.

def hola_mundo(username):  
    pass


def promedio(calificaciones):
    return sum(calificaciones) /  len(calificaciones)

Ahora, cuando definamos funciones y/o métodos con parámetros con valores por default, estos deben encontrarse todo junto sin espacios. Todo lo contrario que cuando asignábamos valores a las variables,. Nombre del parámetro + signo igual + valor por default. Todo junto sin espacios.

Ejemplos.

#correcto

def suma_numeros_enteros(numero_uno=10, numero_dos=20):  
    pass
# Incorrecto

def suma_numeros_enteros(numero_uno = 10, numero_dos = 20):  
    pass

Justamente lo mismo al momento del llamado mediante nombre de parámetros.

Ejemplos.

#correcto

suma_numeros_enteros(numero_uno=10, numero_dos=20):  
# Incorrecto

suma_numeros_enteros(numero_uno = 10, numero_dos = 20):  

Clases 🐬

Con respecto a las clases, estas deberán nombrarse utilizando CameCase. Donde el primer carácter del nombre debe encontrarse en mayúsculas, y en caso el nombre se encuentre conformador por 2 o más palabras estas deben encontrarse unidas sin ningún espacio o carácter en el medio y con el primer carácter de cada palabra en mayúsculas.

Aunado a todo esto, se recomienda que el nombre se encuentre en singular.

Ejemplos.

class User:
    pass


class UserAdmin:
    pass

class StripeCustomer:
    pass

Módulos 🐉

Ya para ir finalizando hablemos del tema de módulos. Un módulo no es más que un archivo con extensión .py ,. Por lo tanto, siempre que desees referirte a un archivo con extensión .py, puedes hacerlo como módulo o script, de ambas formas es correcto.

Estos módulos también tiene una nomenclatura en cuanto a su nombre, haremos uso de snake_case.

Ejemplos.

main.py
module_users.py

Y por si fuera poco, se recomienda que todos nuestros módulos finalicen con un salto de línea.

Letras finales 🍃

Para finalizar me gustaría mencionar que, si quieres profundizar en el estándar de codificación de Python y tener un codigo mucho más Pythonico, te recomiendo le eches un ojo al estándar PEP8 que python nos ofrece, de igual forma conozcas el Zen de Python.

Basta con importar this desde tu terminal preferida.

>>> import this

Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. In the face of ambiguity, refuse the temptation to guess. There should be one-- and preferably only one --obvious way to do it. Although that way may not be obvious at first unless you're Dutch. Now is better than never. Although never is often better than right now. If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. Namespaces are one honking great idea -- let's do more of those!


¿El contenido te resulto de ayuda?

Para poder dejar tu opinión es necesario ser un usuario autenticado. Login

Npmyoan

no conocia le pep8 voy a hecharle un ojo

Más Tips y Ejercicios 🐍

Adquiere una subscripción PyWombat por tan solo $3 USD. al mes.

Conoce los beneficios de ser usuario premium:
Niveles desbloqueados: Ten accesos a todos los niveles de ejercicios. 🔓
Nuevo límite: Incrementa tu límite de ejercicios por semana. 🚀
Contenido único: Recibe semanalmente recursos exclusivos de Python (Videos, Artículos y Capitulos del libro PyWombat, comienza como desarrollador Python. 🐍