Creación de Paquetes: Distribuyendo tu Código
Un Paquete es el siguiente nivel de organización en Python. Mientras que un módulo es un archivo simple, un paquete es una colección de módulos agrupados en un directorio que permite una jerarquía lógica y evita conflictos de nombres en proyectos grandes.
1. Requisitos de un Paquete
Para que una carpeta sea considerada un paquete por el intérprete de Python, debe cumplir dos condiciones:
1. Ser un directorio en el sistema de archivos.
2. Contener un archivo llamado __init__.py (aunque sea un archivo vacío).
El rol de __init__.py
Este archivo se ejecuta automáticamente cuando el paquete es importado. Se utiliza para:
* Inicializar configuraciones a nivel de paquete.
* Controlar qué módulos se exportan al usar from paquete import *.
* Simplificar las rutas de importación para el usuario final.
2. Creando un Paquete paso a paso
Imagina que estás creando una librería de procesamiento de imágenes. Tu estructura debería verse así:
- mi_libreria/ (Carpeta principal)
- __init__.py (Define que esta carpeta es un paquete)
- filtros.py (Módulo con funciones de brillo, contraste, etc.)
- formatos.py (Módulo para manejar JPG, PNG, etc.)
Para usarlo desde un script externo, escribirías:
from mi_libreria.filtros import aplicar_brillo
3. Subpaquetes (Paquetes Anidados)
Python permite crear paquetes dentro de otros paquetes. Esto es vital en librerías masivas como Django o Scipy. Simplemente debes repetir la regla: cada carpeta de la jerarquía debe tener su propio archivo __init__.py.
Reto: Arquitectura de Paquetes Lógicos
Vamos a simular la lógica de importación de un paquete de "Finanzas". Tu tarea es importar correctamente los componentes de un paquete imaginario.
Instrucciones:
- Desde un paquete llamado
finanzas, importa el móduloimpuestos. - Desde ese mismo paquete, importa específicamente la función
calcular_iva. - Crea una variable llamada
totalque sea el resultado de llamar acalcular_iva(1000).
# Simula la importación de tu paquete: