Módulos y paquetes

Módulos en Python


En aplicaciones grandes o medianamente complejas, es común dividir el código en múltiples archivos para facilitar su organización, mantenimiento y reutilización. Python proporciona dos mecanismos principales para lograr esto: módulos y paquetes.


Módulos en Python:

Un módulo en Python es simplemente un archivo con extensión .py que contiene definiciones de funciones, clases, variables e incluso bloques ejecutables. Permiten reutilizar código en múltiples programas y dividir una aplicación grande en componentes más pequeños y manejables.

Por ejemplo, supongamos que tenemos un archivo llamado aritmetica.py con el siguiente contenido:

# aritmetica.py

def sumar(a, b):
    return a + b

def restar(a, b):
    return a - b

Podemos importar y usar este módulo desde otro archivo Python que se encuentre en la misma carpeta:

import aritmetica

resultado = aritmetica.sumar(5, 3)
print(resultado)  # Imprime: 8

Importación específica de objetos:

En lugar de importar todo el módulo, también podemos importar funciones o clases específicas:

from aritmetica import sumar

print(sumar(10, 4))  # Imprime: 14

En este caso, ya no es necesario prefijar aritmetica al llamar a sumar.

También podemos importar múltiples objetos separados por comas:

from aritmetica import sumar, restar

Importación de todos los objetos:

Aunque no es recomendado por motivos de claridad, también se puede importar todo el contenido del módulo:

from aritmetica import *

Este método puede provocar conflictos si varios módulos definen funciones o clases con el mismo nombre.


Visibilidad global de módulos:

Si deseas que un módulo esté disponible globalmente, puedes moverlo a la carpeta Lib del directorio de instalación de Python, por ejemplo: C:\Python310\Lib.

Alternativamente, puedes agregar su ruta al sistema usando el módulo sys:

import sys
sys.path.append("C:/ruta/a/mi_modulo")