Curso de programación en Python usando Linux. Undécima parte
En este post del curso de programación en Python usando Linux continuaremos hablando de cómo documentar lo que hace el código. Esto es una práctica muy útil ya que no siempre nuestra memoria es fiable al recordar lo que escribimos. También haremos una introducción al tema de los bucles.
Por otra parte, si escribiemos código de manera profeisonal o formamos parte de la comunidad de un proyecto de código abierto, es probable que otras personas tengan que hacer modificaciones por lo que necesitan saber en donde están parados. Los bucles nos permiten seguir ejecutando programas hasta que se cumpla una condición
En el artÃculo anterior habÃamos introducido el concepto de docstrings. Los docstrings nos permiten acceder a breves explicaciones sobre lo que hacen determinadas funciones, clases, métodos y módulos sin necesidad de detener la ejecución del programa y leer todo el código hasta encontrar un comentario. Pero, antes de seguir, repasemos algunos conceptos.
- Función: Bloque de código reutilizable que realiza una tarea especÃfica.
- Clase: Es un molde para definir los objetos que creamos a partir de ella.
- Método: es una función que pertenece a una clase.
- Módulo: es un programa en Python que puede ser ejecutado en otro programa de Python.
Clase y función es algo que explicamos en artÃculos anteriores. De los módulos hablaremos más adelante.
Docstrings
Los docstrings son cadenas de texto que se colocan al principio de una función y contienen una breve descripción acerca de lo que hace la función, que parámetros recibe y que valores devuelve.
Este ejemplo ilustra el uso de docstrings para explicar que hace la función que compara una lista de distribuciones Linux con una dada.Como vemos, encerrado entre 3 comillas dobles tenemos el texto que explica el funcionamiento de la función y da un ejemplo. A continuación está el código de la comparación.
Los motivos para usar docstrings son:
- Claridad: Hacen que la persona que debe revisar el código entienda más rápidamente que hace cada cosa.
- Facilidad de acceso: Se puede acceder a la documentación desde la consola interactiva.
- Cumplimiento de estándares: El uso de de docstrings para documentar el código es una convención aceptada en forma mayoritaria por la comunidad Python.
- Actualización: Permite documentar en forma fácil los cambios en el código sin tener que generar nuevos archivos.
Al principio de este curso recomendamos la utilización de Visual Studio Code como entorno integrado de desarrollo y la instalación de algunas extensiones adicionales. VS Code te muestra automáticamente el texto del docstrings cuando pasas el puntero del ratón. otras maneras de hacerlo es:
- Desde la consola interactiva: (La terminal de Linux desde la que ejecutas la aplicación Python.
- Desde el mismo código del programa que estamos ejecutando.
- Desde otro programa que importe la función.
Estos son ejemplos con el comando help()
El uso del comando help nos permite ver el contenido del docstrings mientras se ejecuta el programa.Antes que nada, una aclaración. Por una incompatibilidad entre la indentación que exige Python y el gestor de contenidos que usa el blog no puedo pegar directamente código muy extenso. Pastebin que es donde estuve pegando el código en artÃculos anteriores, tiene un lÃmite al uso gratuito y ya lo superé. Por eso estoy usando capturas de pantalla. De todas formas, si copian el código a mano los ayudará a entender su funcionamiento.
Podemos llamar al docstrings directamente desde la terminal de la que ejecutamos el programa que estamos escribiendo con los comandos:
from detectar_distro import obtener_info
help(obtener_info)
Previamente debimos haber guardado el programa anterior como detectar_distro.py
Desde el código de otro programa
# archivo: consulta.py
from detectar_distro import obtener_info
help(obtener_info)
Ejecutando tareas repetitivas
Hasta ahora solo vimos programas que ejecutan una tarea y se detienen Pero, en el mundo real, las aplicaciones funcionan en forma continua hasta que el usuario las detiene. Una manera de lograr esto es usando bucles, los bucles ejecutan el código mientras se cumpla una determinada condición.
La condición se establece con el comando while
Este programa crea la variable distribución y establece con el comando while que hasta que el usuario no ingrese Ubuntu se le sigue pidiendo que escriba el nombre de una distribución.
Los bucles while son muy útiles cuando no podemos establecer cuantas veces deberá ejecutarse el código para obtener el resultado deseado. Por ejemplo, si queremos simular una sola tirada de dados y no importa el resultado, no necesitarÃamos el bucle while.
Algunos casos útiles de uso son:
- Pedir al usuario que ingrese datos hasta que el ingresado sea correcto.
- Realizar cálculos hasta que se logra el resultado esperado. (Por ejemplo cuando en el colegio sabÃas la solución de un ejercicio pero no cómo llegar a ella)
- Procesar los datos en una lista hasta que se llegue al final.
Una forma de utilizar el bucle while es estableciendo un contador con un número de intentos.
El funcionamiento del programa es el siguiente:
- Se crea una variable para intentos y se pone a 0, otra establece el número de intentos en un máximo de 5 y se crea una variable para almacenar el ingreso del usuario.
- Al bucle while se le asignan dos condiciones, que el usuario no haya acertado y que no haya agotado el numero de intentos.
- Cada vez que el usuario hace un intento se incrementa el contador.
- Se le muestra al usuario el número de intento .
- Cuando se cumple alguna de las dos condiciones se determina si el usuario ganó o perdió.
Break y continue
Existen dos sentencias que afectan el funcionamiento de un bulce además del cumplimento o no de la condición:
- Break: Detiene la ejecución del bucle aunque no se hayan cumplido las condiciones y salta a la primera lÃnea del código por afuera del bucle. Esto puede ser útil, por ejemplo si el usuairo desea salir del programa.
- Continue: No detiene el bucle completo sino que se salta el intento actual y pasa al siguiente. Por ejemplo, en nuestro programa que pide distribuciones Linux, si el usuairo escribiera «Windows» podrÃa volver a pedir que ingrese el nombre de una distribución sin hacer la comprobación.
En el próximo artÃculo continuaremos desarrollando este tema.
.png)










