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.
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)}")Square root of 16 is 4.0
Value of Pi: 3.1416
Cosine of 0 is 1.0Implementació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
Domina las funciones de Python. Aprenda a escribir código reutilizable usando def, definir argumentos, valores de retorno y comprender el alcance a nivel local y global.
Entornos virtuales de PythonDomina los entornos virtuales de Python. Aprenda a crear, activar y administrar dependencias con venv y pip de forma segura.
Módulo matemático de PythonDescubra el poder del módulo matemático integrado de Python. Aprenda sobre funciones trigonométricas, logaritmos, métodos de redondeo y constantes.
Recursos recomendados de Python
Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.
Cómo ordenar una lista en Python
Aprenda a ordenar una lista en Python usando el método sort() y la función sorted(). Descubra ejemplos de ordenación inversa y clasificación de claves personalizadas.
Hoja de trucos sobre métodos de cadenas de Python
Una guía de referencia completa para la manipulación de cadenas de Python. Domine el formateo, la búsqueda, la división, el reemplazo y la verificación de las propiedades de las cadenas.
Python vs JavaScript: ¿Qué lenguaje de programación es mejor?
Una comparación completa entre Python y JavaScript. Explore las diferencias de sintaxis, el rendimiento, los casos de uso (backend frente a frontend) y ejemplos de codificación.