Módulos
Crear Módulos
Un módulo se crea simplemente creando un archivo con extensión .py que contenga las definiciones de funciones, clases y variables que desees utilizar en otros programas.
Importar Módulos
Para utilizar las definiciones dentro de un módulo en otro programa, primero debes importar el módulo. Puedes hacerlo utilizando la instrucción import seguida del nombre del archivo del módulo (sin la extensión .py).
Alias en importación
Puedes utilizar un alias (nombre corto) para referenciar el módulo al importarlo. Esto es útil si el nombre del módulo es largo o si deseas evitar conflictos de nombres con otros módulos. Se utiliza la palabra clave as para asignar un alias
Importar funciones o variables específicas
En lugar de importar todo el módulo, también puedes importar funciones o variables específicas. Esto te permite usarlas directamente sin tener que escribir el nombre del módulo cada vez que las llamas
Importar todas las definiciones
Si deseas importar todas las definiciones de un módulo sin tener que utilizar el nombre del módulo, puedes usar el asterisco *.
:heavy_exclamation_mark: NO RECOMENDADO Sin embargo, esto no se recomienda en general, ya que puede causar conflictos de nombres y hacer que el código sea menos legible
Tipos de módulos
Módulos estándar
Python viene con una gran cantidad de módulos estándar que proporcionan funcionalidades adicionales y herramientas listas para usar. Puedes encontrar una lista completa de los módulos estándar en la documentación oficial de Python.
Aquí tienes una lista con los principales módulos estándar.
os: Proporciona una interfaz para interactuar con el sistema operativo. Permite trabajar con directorios, archivos, procesos y variables de entorno.
sys: Proporciona acceso a variables y funciones específicas del intérprete de Python. Permite controlar la ejecución del programa y manipular la secuencia de búsqueda de módulos.
math: Proporciona funciones matemáticas avanzadas, como funciones trigonométricas, exponenciales, logarítmicas, entre otras.
random: Genera números aleatorios y permite trabajar con secuencias aleatorias. Útil para aplicaciones que requieren aleatoriedad.
datetime: Permite trabajar con fechas y horas. Proporciona clases para representar fechas, horas, intervalos de tiempo y operaciones relacionadas.
json: Proporciona funciones para trabajar con datos en formato JSON (JavaScript Object Notation), muy común en el intercambio de datos en aplicaciones web.
csv: Permite trabajar con archivos CSV (Comma-Separated Values), utilizados para almacenar datos tabulares en formato de texto plano.
re: Proporciona soporte para expresiones regulares, lo que permite realizar búsquedas y manipulaciones de patrones en cadenas de texto.
requests: Facilita el envío de solicitudes HTTP a través de la red. Útil para acceder a recursos web y trabajar con APIs.
sqlite3: Proporciona una interfaz para trabajar con bases de datos SQLite, un motor de base de datos ligero y ampliamente utilizado.
pickle: Permite serializar y deserializar objetos Python, lo que facilita el almacenamiento y recuperación de datos complejos.
time: Proporciona funciones para trabajar con el tiempo, como pausar la ejecución del programa o medir el tiempo de ejecución.
collections: Contiene clases adicionales que amplían las capacidades de las estructuras de datos incorporadas, como
defaultdict
,Counter
,deque
, entre otras.argparse: Facilita el análisis de argumentos de línea de comandos, permitiendo que tus programas acepten opciones y argumentos personalizados.
logging: Proporciona funciones para generar mensajes de registro (logs), lo que facilita la depuración y el seguimiento del comportamiento de tus programas.
io: Proporciona clases y funciones para trabajar con operaciones de entrada/salida, como trabajar con archivos y flujos de datos.
subprocess: Permite crear y controlar procesos secundarios desde tu programa, lo que te permite ejecutar comandos externos y acceder a sus resultados.
unittest: Facilita la creación y ejecución de pruebas unitarias, lo que ayuda a garantizar la calidad y robustez de tu código.
socket: Proporciona soporte para la comunicación de red mediante sockets, lo que permite construir aplicaciones cliente-servidor
xml.etree.ElementTree: Permite analizar y crear documentos XML, útil para trabajar con datos estructurados en formato XML.
Módulos de terceros (Pip)
Además de los módulos estándar, también puedes instalar módulos de terceros utilizando el administrador de paquetes pip. Estos módulos son desarrollados por la comunidad y ofrecen una amplia variedad de funcionalidades para tareas específicas.
Al administrador de paquetes PIP le dedicaremos una sección para detallar el uso, instalación, configuración y buenas prácticas.
Last updated