Modulos para trabajar con Python
Los módulos en Python son la forma en que se organizan los bloques de código. Son los paquetes de código y datos que pueden ser reutilizados. En terminos concretos, cada módulo corresponde a un programa en Python o a extenciones escritas en algun otro lenguaje. Los módulos tienen por lo menos 3 roles:
- Reutilización de código. Al poder ser importados por cualquier otro script de Python, el código dentro de un módulo puede ser facilmente reutilizable.
- Son un sistema para generar espacios de nombres (namespace). Con los módulos se puede evitar la colision de nombres dentro de cada script; cada módulo sella el nombre dentro de él, de forma que podemos utilizar el mismo nombre para un atributo, variable, clase o función en cada script y Python los interpreta correctamente.
- Nos ayudan a implementar servicios compartidos o datos. Como cada módulo puede ser importado por un número infito de scripts, los módulos son especialmente útiles para generar funciones globales o para compartir datos que deban ser leídos por diferentes scripts de Python.
En definitiva, los módulos nos hacen la vida más fácil a la hora de escribir código, a través de ellos terceros pueden generar nuevas clases y funciones que le agregen funcionalidades a la librería estandar que trae el lenguaje Python.
Algunos de los módulos más importantes generados por la comunidad y que desde mi punto de vista uno debería de tener instalados para trabajar en forma más eficiente con el lenguaje Python son los siguientes:
NumPy: Una librería fundamental para realizar cálculos avanzados tanto cientificos como financieros.
SciPy: Un complemento perfecto para NumPy, proporciona herramientas adicionales para realizar cálculos complejos.
Matplotlib: Esta librería proporciona graficos numericos en 2D, también un complemento ideal para NumPy y SciPy.
RPy2: Este módulo proporciona una interface entre Python y el versatil lenguaje estadístico R.
xlrd: Módulo para extraer datos de Microsoft Excel.
PyQt: Esta librería proporciona todas las herramientas para implementar interfaces gráficas (GUI) en forma muy sencilla.
MySQL for Python: Nos permite integrar la ejecución de MySQL en cualquier script de Python.