Diccionario

Módulo

Un archivo o grupo de archivos de código que agrupa funciones relacionadas y que otros archivos pueden importar.

Cuando un programa crece, se reparte en módulos: uno para la base de datos, otro para los cálculos, otro para la interfaz. Cada módulo decide qué expone y los demás lo usan con import.

Así se evita un único archivo enorme, se reutiliza código y cada parte se puede probar por separado.

Un ejemplo

En Python, from datetime import date importa la clase date del módulo datetime de la biblioteca estándar.

Por qué importa

Los módulos permiten dividir un programa en archivos con una responsabilidad clara, en lugar de tener miles de líneas en un único fichero. Cada módulo expone solo lo que otros necesitan y oculta el resto, lo que facilita encontrar el código, reutilizarlo y trabajar en equipo sin pisarse.

Además, evitan colisiones de nombres: dos módulos pueden tener una función llamada calcular sin que choquen, porque se accede a ellas a través de su módulo. Cuando instalas una biblioteca de terceros, lo que importas en tu código son precisamente sus módulos.

Confusiones frecuentes

En JavaScript conviven dos sistemas: CommonJS, con require, típico de Node.js, y los módulos ES, con import y export, que son el estándar actual. Mezclarlos produce errores como «Cannot use import statement outside a module». Tampoco hay que confundir módulo con biblioteca o paquete: el módulo suele ser un archivo, mientras que una biblioteca o paquete agrupa varios módulos. Y en Python, un archivo .py es un módulo y una carpeta con __init__.py es un paquete.

Preguntas frecuentes

¿Qué es una importación circular?

Cuando dos módulos se importan entre sí. Suele causar errores o valores sin definir. Se resuelve moviendo el código compartido a un tercer módulo.

¿Puedo importar solo una función?

Sí: from math import sqrt en Python o import { sqrt } from './utils.js' en JavaScript.