Python: Módulos y paquetes
Aprende a gestionar módulos y paquetes en Python. Organiza tu código eficientemente y mejora la mantenibilidad de tus proyectos con técnicas avanzadas.
Aprende Python GRATIS y certifícateEn Python, los módulos y paquetes son herramientas fundamentales para la organización y reutilización de código. Un módulo es un archivo que contiene definiciones y declaraciones en Python, mientras que un paquete es una colección de módulos organizados en directorios.
Creación y uso de módulos
Un módulo en Python es simplemente un archivo .py
que puede contener variables, funciones y clases. Para crear un módulo, basta con definir un archivo con el contenido deseado. Por ejemplo:
# archivo: mi_modulo.py
def saludar(nombre):
return f"Hola, {nombre}!"
PI = 3.14159
Para utilizar este módulo en otro archivo, se emplea la instrucción import
:
# archivo: usar_modulo.py
import mi_modulo
print(mi_modulo.saludar("Mundo"))
print(mi_modulo.PI)
También es posible importar elementos específicos del módulo:
# archivo: usar_modulo.py
from mi_modulo import saludar, PI
print(saludar("Mundo"))
print(PI)
Creación y uso de paquetes
Un paquete es un directorio que contiene un archivo especial __init__.py
y uno o más módulos. El archivo __init__.py
puede estar vacío o incluir código de inicialización del paquete.
Supongamos la siguiente estructura de directorios:
mi_paquete/
__init__.py
modulo1.py
modulo2.py
Para importar un módulo desde un paquete, se utiliza la notación de punto:
# archivo: usar_paquete.py
from mi_paquete import modulo1, modulo2
modulo1.funcion_del_modulo1()
modulo2.funcion_del_modulo2()
El archivo __init__.py
permite inicializar el paquete y definir qué se exporta cuando se usa from mi_paquete import *
. Por ejemplo:
# archivo: mi_paquete/__init__.py
from .modulo1 import funcion_del_modulo1
from .modulo2 import funcion_del_modulo2
Con esta configuración, es posible acceder directamente a las funciones:
# archivo: usar_paquete.py
from mi_paquete import funcion_del_modulo1, funcion_del_modulo2
funcion_del_modulo1()
funcion_del_modulo2()
Importaciones relativas
En un paquete, es común utilizar importaciones relativas para acceder a otros módulos dentro del mismo paquete. Por ejemplo:
# archivo: mi_paquete/modulo1.py
from .modulo2 import funcion_del_modulo2
def funcion_del_modulo1():
print("Llamando a funcion_del_modulo2")
funcion_del_modulo2()
Las importaciones relativas utilizan el punto (.
) para referirse al paquete actual, y dos puntos (..
) para referirse al paquete padre.
Buenas prácticas
- Organización clara: Mantén una estructura de directorios clara y lógica.
- Nombres descriptivos: Utiliza nombres de módulos y paquetes que describan su contenido.
- Documentación: Incluye docstrings y comentarios para facilitar la comprensión y mantenimiento del código.
- Evitación de importaciones cíclicas: Diseña tus módulos y paquetes de manera que no se produzcan dependencias circulares entre ellos.
El uso adecuado de módulos y paquetes mejora la mantenibilidad y la modularidad de los proyectos en Python, facilitando la colaboración y el desarrollo a largo plazo.
Lecciones de este módulo de Python
Lecciones de programación del módulo Módulos y paquetes del curso de Python.
Ejercicios de programación en este módulo de Python
Evalúa tus conocimientos en Módulos y paquetes con ejercicios de programación Módulos y paquetes de tipo Test, Puzzle, Código y Proyecto con VSCode.