Paquetes en Python
Paquetes de Python
Puedes pensar en un paquete de Python como un “proyecto” independiente. Un proyecto puede contener múltiples módulos, cada uno de los cuales contiene un conjunto específico de funciones y variables relacionadas.
¿Qué es un Paquete?
Un paquete es una colección de módulos. Un paquete es básicamente un directorio que contiene un archivo especial llamado
__init__.py¿Qué es un Módulo?
Recordar que un módulo en Python es simplemente un archivo que contiene definiciones y declaraciones de Python, como funciones, clases y variables.
Los módulos y paquetes son una parte fundamental de Python, ya que permiten organizar y estructurar proyectos grandes.
Estructura de un paquete
La estructura de un paquete consiste en crear un directorio en el proyecto y que se vea de la siguiente manera:
"""
Este es un archivo especial en paquetes Python que sirve como punto de entrada. Se ejecuta cuando se importa el paquete, y su código se puede utilizar para inicializar el paquete o configurar los componentes necesarios.
"""
from .module1 import saludar, sumar, multiplicar
def saludar(nombre):
"""Devuelve un saludo personalizado."""
return f"¡Hola, {nombre}! Bienvenido a Python."
def sumar(a, b):
"""Suma dos números."""
return a + b
def multiplicar(a, b):
"""Multiplica dos números."""
return a * b
from my_package import saludar, sumar, multiplicar
print(saludar("Carla"))
print("Suma:", sumar(8, 4))
print("Multiplicación:", multiplicar(3, 5))
Selecciona un archivo para ver su contenido
El archivo __init__.py le dice a Python que este directorio es un paquete y debe ser tratado como tal. Este archivo se puede dejar vacío, o puede contener un código que se ejecutará cuando se importe el paquete.
Por ejemplo, si quieres facilitar los imports, puedes incluir lo siguiente:
1
from .module1 import saludar, sumar, multiplicar
Si el paquete se llama my_package y contiene un archivo module1.py, puedes importar los módulos de la siguiente manera:
1
2
3
4
5
import my_package.module1
print(my_package.module1.saludar("Carla"))
print("Suma:", my_package.module1.sumar(8, 4))
print("Multiplicación:", my_package.module1.multiplicar(3, 5))
Gracias a lo que pusimos en __init__.py, podemos hacer esto:
1
2
3
4
5
from my_package import saludar, sumar, multiplicar
print(saludar("Carla"))
print("Suma:", sumar(8, 4))
print("Multiplicación:", multiplicar(3, 5))
Gestión de dependencias
Las dependencias son otros paquetes en los que un paquete depende para funcionar correctamente. Realizar un seguimiento de las dependencias puede ser un desafío, pero hay herramientas que nos ayudan a administrarlas de manera efectiva.