Saltar al contenido principal

Bloque 112. Módulos propios

Contenidos

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ún input() ni print() de menú.
  • main.py: importa las funciones de tareas.py (con from 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.py con un alias (import utilidades as util) y adapta las llamadas para usarlo.
  • Añade, al final de utilidades.py, un bloque if __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 math de la librería estándar de Python: añade import math y usa math.pi en 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.

Repaso

Al terminar los ejercicios, debes tener claro los siguientes conceptos:

  • Qué es un módulo en Python
  • import nombre_modulo
  • from 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)