Módulos y paquetes

Organización en paquetes


Un paquete en Python es una carpeta que agrupa varios módulos relacionados. Es ideal para organizar bibliotecas o proyectos grandes.

Supongamos que queremos crear un paquete llamado matematica, podríamos tener la siguiente estructura de carpetas:

matematica/
├── __init__.py
├── aritmetica.py
└── geometria.py

El archivo __init__.py indica a Python que esta carpeta debe tratarse como un paquete. Puede estar vacío o contener código de inicialización del paquete.

Ejemplo del contenido de los módulos:
# aritmetica.py
def sumar(a, b):
    return a + b
# geometria.py
def area_cuadrado(lado):
    return lado * lado

Uso del paquete:

Desde otro archivo en la misma carpeta raíz:

from matematica import aritmetica, geometria

print(aritmetica.sumar(3, 4))         # 7
print(geometria.area_cuadrado(5))     # 25

También puedes importar funciones específicas desde los submódulos:

from matematica.geometria import area_cuadrado

print(area_cuadrado(6))  # 36

Buenas prácticas al usar módulos y paquetes:

  • Usa nombres descriptivos y en minúsculas para los archivos de módulos.
  • Divide el código en módulos pequeños y coherentes según su funcionalidad.
  • Evita el uso de from modulo import * para mantener claridad y evitar colisiones de nombres.
  • Documenta bien cada módulo con comentarios y docstrings.