Bloque 112. Módulos propios
Revisa los siguientes apartados de la Unidad para resolver los ejercicios:
Ejercicio 1. Separa tu propia librería
Programa un gestor de tareas pendientes con un menú en bucle que permita:
- Añadir una tarea, al final de una lista.
- Marcar una tarea como completada: elimínala de la lista e imprime cuál era.
- Mostrar las tareas pendientes, numeradas.
- Salir del programa.
Organiza el código en dos ficheros:
tareas.py: contiene únicamente las funciones (añadir, eliminar, mostrar...), sin ningúninput()niprint()de menú.main.py: importa las funciones detareas.py(confrom tareas import ...) y contiene el menú en bucle que las usa.
Comprueba que el programa funciona igual que antes de separarlo en los dos ficheros.
💾 Haz un commit al terminar el ejercicio.
Ejercicio 2. Módulo de utilidades matemáticas
Crea un módulo utilidades.py con al menos tres funciones que puedan resultarte útiles en varios de los ejercicios anteriores (por ejemplo, es_primo, es_bisiesto, media).
Añade a cada función un docstring de una línea explicando qué hace: es especialmente útil en un módulo, porque quien lo importe debe poder entender cada función sin tener que leer su código.
Desde un script nuevo:
- Importa el módulo completo con
import utilidades. - Usa sus funciones anteponiendo el nombre del módulo, por ejemplo
utilidades.es_primo(7).
💾 Haz un commit al terminar el ejercicio.
Ejercicio 3. Un módulo, varios scripts
Crea un módulo figuras.py con funciones para calcular el área de un círculo, un rectángulo y un triángulo.
Escribe dos scripts distintos en la misma carpeta, que importen y usen esas mismas funciones de figuras.py sin duplicar la lógica de cálculo en ninguno de los dos:
calculadora_areas.py: con un menú que pregunte qué figura calcular.informe_figuras.py: que calcule directamente el área de una figura de cada tipo con medidas fijas y las muestre todas seguidas.
💾 Haz un commit al terminar el ejercicio.
Ejercicio 4. Alias y organización
Amplía el ejercicio anterior:
- Importa tu módulo
utilidades.pycon un alias (import utilidades as util) y adapta las llamadas para usarlo. - Añade, al final de
utilidades.py, un bloqueif __name__ == "__main__":con un par de líneas de prueba de tus propias funciones. - Compreuba qué pasa cuando el fichero se importa desde otro, frente a cuando se ejecuta directamente.
💾 Haz un commit al terminar el ejercicio.
Ejercicio 5. Usa un módulo de la librería estándar
Crea un módulo figuras.py con una función area_circulo(radio) que calcule el área de un círculo, usando al principio un valor aproximado de π escrito a mano (PI = 3.1416). Impórtala desde un script y pruébala con algún radio de ejemplo.
A continuación:
- Sustituye ese valor aproximado por el que ofrece el módulo
mathde la librería estándar de Python: añadeimport mathy usamath.pien su lugar. - Comprueba que el área calculada apenas cambia respecto al valor aproximado.
Python trae instalado, listo para importar sin que tengas que escribirlo tú, un buen número de módulos como este (otro que ya conoces es random).
💾 Haz un commit al terminar el ejercicio.
Al terminar los ejercicios, debes tener claro los siguientes conceptos:
- Qué es un módulo en Python
import nombre_modulofrom modulo import elemento- Alias de un módulo (
import modulo as alias) - El bloque
if __name__ == "__main__": - Documentación de módulos
- Módulos de la librería estándar (por ejemplo,
random)