#7 Como crear un módulo en Python
hace 2 años · Actualizado hace 1 año
Cuando avanzas lo suficiente en el aprendizaje que tienes en un lenguaje de programación, llegará un punto en el que tengas un montón de líneas de código que reutilizarás en diferentes puntos.
En la parte anterior del curso te hablé de funciones y procedimientos, pero has de saber que hay otras formas de estructurar nuestros programas. Y de eso precisamente te voy a hablar hoy: de como crear módulos en Python.
En este artículo conocerás lo que es un módulo y aprenderás a crear módulos en Python.
Entrar al curso completo de Python desde cero a experto
¿Qué es un módulo en Python?
Un módulo es un conjunto de funciones asociadas a un programa. Pongamos como ejemplo la aplicación de un banco, donde podríamos tener los siguientes módulos:
- Manejo de entrada y salida de dinero. Incluyendo funciones que permitan ingresar y retirar dinero, ya sea de un banco a otro o mediante cajero.
- Visualización de datos. Módulo que nos permita visualizar nuestros movimientos, con funciones que nos permitan aplicar filtros por fecha o cantidad, por ejemplo.
- Domiciliaciones. En este módulo se tendrían funciones que nos permitan conocer los diferentes pagos que se tengan domiciliados a la cuenta del usuario y editar dichos datos.
Por supuesto, una app de banco sería mucho más compleja, pero con esto es suficiente para que entiendas como debemos modular nuestros programas y lo que es un módulo en Python.
Ahora bien, ¿necesitamos siempre utilizar módulos de Python? Por supuesto que no. Si bien es una práctica muy recomendable, en casos donde tengamos programas pequeños sería rizar el rizo y puede que sea más que suficiente únicamente utilizando funciones.
Sin embargo, cuando nuestros programas comienzan a tener cierta envergadura, si que te recomiendo que utilices módulos.
¿Cómo hacer un módulo en Python?
Crear un módulo en Python es bastante sencillo, podemos hacerlo de dos maneras diferentes una más sencilla y otra más correcta.
Crear módulos usando funciones
La primera opción es la más sencilla, recomendada para proyectos más pequeños, donde queremos separar ciertas funcionalidades pero es suficiente con un fichero adicional por cada funcionalidad extra.
Esta práctica no es la más recomendable, pero es funcional y para proyectos menos serios es suficiente. La forma de implementar módulos en Python de esta manera es crear un fichero con extensión .py, donde incluiremos las funciones necesarias en el módulo.
Para importar el módulo simplemente usaremos la palabra reservada import o from nombreModulo import nombreFuncion.
Ventajas de crear módulos usando funciones
La ventaja más importante es que resulta muy fácil e intuitivo de implementar, y además no necesitas conocimientos avanzados de programación.
Desventajas de crear módulos usando funciones
La desventaja principal de crear módulos de esta manera es que sólo son accesibles desde la misma carpeta raíz en la que tengas el fichero del módulo. Depende de la versión de Python que tengas, pero por lo general, tendrás que copiar y pegar el fichero en diferentes zonas si quieres reaprovechar código, lo cual puede llevar a errores si haces cambios en unos ficheros y no en alguno de sus duplicados.
Crear módulos usando clases
La forma correcta de crear módulos en la mayoría de casos es utilizando las clases. De esta manera, creas un objeto de la clase que corresponda y llamas a las funciones o métodos de esa clase. Más adelante en esta serie de tutoriales te hablaré de la orientación a objetos en profundidad, pero de momento no hace falta que sepas mucho más.
Para crear módulos con clases en Python, debemos crear una carpeta por funcionalidad y dentro podemos incluir uno o más ficheros con las clases que queramos, asociadas a ciertos comportamientos.
Por ejemplo, si quisiéramos implementar un videojuego en el que haya animales que se mueven libremente, pero cada especie tiene un comportamiento, podríamos crear una carpeta llamada animales y dentro de esa carpeta incluir una clase por cada tipo de animal y que tenga implementado su comportamiento.
Ventajas de crear módulos usando clases
La ventaja principal de utilizar este método para crear clases es que nos aporta más modularidad de lo que nos aporta la solución anterior. Además, podemos utilizar los módulos creados desde cualquier parte, especificando correctamente el path de la carpeta.
Desventajas de crear módulos usando clases
Las desventajas de este método es que necesitas conocer los conceptos básicos de la orientación a objetos para poder implementar las clases de los módulos. No es una dificultad muy grande, ya que con conocer lo mínimo es suficiente.
-
Muy buen tutorial, me gustó mucho y me ayudó: Muchas Gracias.
-
Hola serian tan amables de indicarme como puedo crear una base de datos de libros de música en donde aparezcan prestamos y devoluciones de libros? apreciaría mucho su ayuda Gracias. Ah Excelente tutorial muy bien explicado.
Deja una respuesta
Otras Entradas Relacionadas