Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

Escribir código que funcione no siempre es suficiente; debe intentar escribir un código bien estructurado que también sea fácil de entender. El código limpio le facilitará a usted, y a otros, el mantenimiento de su software.

Python tiene muchas características y funciones que pueden ayudarlo a escribir un código más limpio. Aquí están algunos de los mejores.

1. Automatice el cierre de recursos con el administrador de contexto

Cerrar manualmente los recursos puede ser inconveniente cuando su código interactúa con muchos recursos. Es posible que olvide cerrar un recurso. Esto hace que su programa use los recursos del sistema de manera ineficiente, lo que puede conducir a una pérdida de memoria.

Este código abre un archivo y luego lo cierra manualmente:

archivo = abrir ('prueba.txt', 'r')
contenido_archivo = archivo.leer()
archivo.cerrar()
palabras = contenido_archivo.split(' ')
word_count = len (palabras)
imprimir (word_count)
instagram viewer

Puede automatizar el cierre del archivo utilizando un administrador de contexto. Los administradores de contexto manejan los recursos por usted, por lo que no tiene que acordarse de administrarlos manualmente. Utilizar el con declaración para crear un contexto para administrar un recurso:

con abierto('prueba.txt', 'r') como archivo:
contenido_archivo = archivo.leer()
palabras = contenido_archivo.split(' ')
word_count = len (palabras)
imprimir (word_count)

El código de este bloque se ejecuta dentro del contexto del objeto de archivo que abierto devoluciones. Python cierra automáticamente ese archivo cuando el código sale de ese contexto, incluso si ocurre una excepción.

2. Escribir sentencias condicionales más limpias

Es posible que se encuentre escribiendo una gran cantidad de código innecesario al tratar con declaraciones if-else. Python tiene operadores ternarios que lo ayudarán a escribir declaraciones más compactas. El siguiente bloque de código muestra una declaración if-else normal.

condición = Verdadero

si condición:
x = 1
demás:
x = 0

imprimir (x)

Puede reescribir este código usando un operador ternario que le permite escribir la condición en una sola línea de código.

condición = Verdadero
x = 1si condición demás0
imprimir (x)

Es importante tener en cuenta que debe usar operadores ternarios al implementar una lógica simple. En lógica más compleja y declaraciones condicionales anidadas, el operador ternario puede volverse difícil de entender.

3. Seguimiento de elementos con la función de enumeración

Al iterar sobre una lista de Python, puede acceder al índice del elemento actual de dos maneras. Una forma es usar el bucle for tradicional. Esto funciona bien, pero el código no es tan limpio como podría ser. También requiere que inicialice el índice manualmente.

coches = ['Bugatti', 'Mercedes', 'Toyota']
índice = 0

para auto en carros:
imprimir (índice, coche)
índice += 1

La otra forma es usar la función de enumeración incorporada de Python. Esto le permitirá acceder al índice y al valor correspondiente en la lista durante el bucle.

coches = ['Bugatti', 'Mercedes', 'Toyota']

para índice, coche en enumerar (coches):
imprimir (índice, coche)

Ahora no tiene que realizar un seguimiento del índice manualmente.

4. Recorriendo varias listas con la función Zip

También puede usar la función enumerar para recorrer varias listas a la vez. Obtenga el índice de la primera lista, luego utilícelo para acceder a los valores correspondientes en otras listas.

nombres_ingleses = ['alimento', 'agua', 'auto']
nombres_españoles = ['alimento', 'agua', 'auto']

para índice, nombre en enumerar (english_names):
español = nombres_españoles [índice]
imprimir (F' {nombre} en español es {español}')

Esto funciona bien, pero tendrá que escribir mucho código innecesario si aumenta el número de listas. Para escribir un código más limpio, puede usar la función zip y pasarle los nombres de su lista.

nombres_ingleses = ['alimento', 'agua', 'auto']
nombres_españoles = ['alimento', 'agua', 'auto']

para Ingles Español en zip (nombres_inglés, nombres_español):
imprimir(F' {inglés} en español es {español}')

Deberías seguir usando la función de enumeración para recorrer una sola lista. Pero si está recorriendo varias listas juntas, considere usar la función zip.

Al ingresar información confidencial, la entrada no debe verse como texto sin formato en la pantalla. La forma habitual de recibir información en Python es usar la función de entrada:

nombre de usuario = entrada ('Nombre de usuario: ')
contraseña = entrada ('Contraseña: ')
imprimir('Iniciando sesión...')

Sin embargo, la función de entrada hace que la contraseña sea visible como texto sin formato en la pantalla mientras se escribe. Para asegurarse de que la contraseña no se muestre en la pantalla, debe usar la función getpass en su lugar:

de conseguir pase importar conseguir pase
nombre de usuario = entrada ('Nombre de usuario: ')
contraseña = getpass('Contraseña:')
imprimir('Iniciando sesión...')

El módulo getpass es parte de la biblioteca estándar de Python, por lo que no necesita instalarlo.

6. Cómo hacer que los números grandes sean legibles usando marcadores de posición de subrayado

Cuando se trata de números grandes en su programa, pueden ser muy difíciles de leer de un vistazo. Asignar números incorrectos a las variables conduce a un programa defectuoso y detectar este error puede ser muy difícil.

numero1 = 10000000000
numero2 = 100000000
total = num1 + num2
imprimir (total)

Puede reescribir el código anterior usando guiones bajos para separar grupos de miles, una forma común de hacer que los números grandes sean más legibles.

numero1 = 10_000_000_000
numero2 = 100_000_000
total = num1 + num2
imprimir(F'{total:,}')

La cadena f en la función de impresión separa la salida usando el separador de miles.

7. Uso de la función de ayuda para obtener más información sobre un módulo

La función de ayuda es muy importante en Python. Le permitirá saber cómo usar un módulo que haya instalado. Para usarlo, instale el módulo, luego inicie el intérprete de Python en una terminal y señale la ruta en la que instaló el módulo. Importe el módulo y finalmente pase el nombre del módulo a la función de ayuda.

Para descubrir qué métodos y atributos puede usar, reemplace la función de ayuda con la función dir.

La función dir devuelve los métodos y atributos que admite el módulo, no toda la documentación. Esto es útil cuando desea echar un vistazo a lo que hace el módulo.

Escribir código Python más limpio

Python es un lenguaje muy diverso. Al igual que con cualquier otro lenguaje, mejorará al escribir código Python más limpio con el tiempo.

Python tiene muchos módulos y funciones integrados. En algunos casos, puede escribir código difícil de leer porque no tiene conocimiento de la existencia de una determinada función. Para asegurarse de estar más informado, debe leer más artículos sobre cómo escribir un mejor código.