Módulos y Paquetes: Arquitectura y Organización
A medida que un proyecto de Python crece, la organización del código se vuelve una prioridad. Python utiliza un sistema jerárquico de Módulos y Paquetes que permite la reutilización de código y facilita el mantenimiento en equipos grandes.
1. Definiciones Fundamentales
El Módulo
Un módulo es cualquier archivo con extensión .py. Contiene funciones, clases o variables que pueden ser utilizadas por otros archivos. Al importar un módulo, Python ejecuta el código del archivo y crea un espacio de nombres (namespace) para sus elementos.
El Paquete
Un paquete es un directorio que contiene múltiples módulos. Es una forma de agrupar lógica relacionada (por ejemplo, un paquete para base_de_datos y otro para interfaz_usuario).
2. Estructura Profesional de un Proyecto
Para que Python reconozca una carpeta como un paquete, se organiza siguiendo esta jerarquía de carpetas y archivos:
- nombre_del_proyecto/ (Carpeta Raíz)
- main.py (Script principal de ejecución)
- utilidades/ (Carpeta del Paquete)
- __init__.py (Archivo de inicialización)
- validadores.py (Módulo de validación)
- formateadores.py (Módulo de formato)
3. El Protocolo de Importación
Existen tres formas principales de traer código externo, cada una con un caso de uso específico:
import modulo: Importa todo el espacio de nombres. Útil para módulos estándar comomath.from modulo import funcion: Importa solo lo necesario. Mejora la legibilidad.import modulo as alias: Crucial para librerías como Pandas (import pandas as pd).
Reto: Integración de Librerías Estándar
Practicaremos el uso de la librería estándar para realizar tareas de sistema y matemáticas.
Instrucciones:
- Importa el módulo
math. - Usa
math.sqrt()para calcular la raíz de625y guárdala en la variableraiz. - Desde el módulo
os, importa únicamente la funcióngetcwd. - Llama a esa función y guarda el resultado en la variable
ruta_actual.
# Escribe tus importaciones aquí: