Módulos y paquetes de Python: organización de proyectos de código

Comprender los módulos y paquetes de Python. Aprenda a importar archivos, estructurar proyectos grandes, utilizar la biblioteca estándar y utilizar importaciones absolutas versus relativas.

Pruébelo en el editor

Descripción general

A medida que las aplicaciones crecen, mantener todo el código en un solo archivo se vuelve imposible de administrar, leer y depurar. Python resuelve esto organizando el código en módulos y paquetes. Un módulo es simplemente un archivo Python (que termina en `.py`) que contiene variables, funciones, clases y declaraciones ejecutables. Al dividir el código en módulos lógicos, puede crear una base de código limpia y reutilizable que sea fácil de probar y compartir entre diferentes aplicaciones.

Para usar código de un módulo en otro, Python usa la palabra clave "importar". Puede importar un módulo completo (por ejemplo, "importar matemáticas"), importar atributos específicos (por ejemplo, "de matemáticas importar pi, sqrt") o importar un módulo bajo un alias para mantener el código conciso (por ejemplo, "importar pandas como pd"). El sistema de importación de Python busca en una lista de rutas específica, comenzando con el directorio actual, seguido de los directorios de instalación y la biblioteca estándar, antes de resolver la importación.

Un paquete es una colección de módulos organizados en una estructura de directorios. Para definir un directorio como paquete, tradicionalmente contenía un archivo llamado `__init.py` (aunque esto es opcional para paquetes de espacio de nombres enPython 3.3+). Esta estructura le permite agrupar módulos relacionados en un único espacio de nombres. Por ejemplo, un paquete llamado `base de datos` podría contener los módulos `conexión.py` y `consultas.py`. Importaría su contenido usando notación de puntos: `importar base de datos.conexión`. Dominar los módulos y paquetes es clave para estructurar aplicaciones Python escalables y listas para producción.

Código y salida de ejecución

Usar el sistema de importación de Python para acceder a funciones matemáticas y utilizar alias personalizados.

import math
from math import sqrt as square_root

# Calculate mathematical constants and values
val = 16
result = square_root(val)
pi_value = math.pi

print(f"Square root of {val} is {result}")
print(f"Value of Pi: {pi_value:.4f}")
print(f"Cosine of 0 is {math.cos(0)}")
Salida terminal
Square root of 16 is 4.0
Value of Pi: 3.1416
Cosine of 0 is 1.0

Implementación paso a paso

  • Separar la lógica empresarial de los controladores de ruta
  • Utilizar utilidades de biblioteca estándar en todas las aplicaciones
  • Publicar código como bibliotecas reutilizables de código abierto

Preguntas frecuentes

¿Cuál es el propósito de __init.py?

Inicializa un directorio como un paquete Python. También se puede utilizar para exponer submódulos o variables específicas a nivel de paquete para facilitar la importación.

¿Cómo instalo módulos externos?

Utiliza el administrador de paquetes de Python, pip, a través de la línea de comando (por ejemplo, solicitudes de instalación de pip) que descarga e instala el paquete desde PyPI.

Temas relacionados

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.