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")