#7 Como crear un módulo en Python

23/03/2022 · Actualizado: 25/05/2023

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

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

Índice
  1. ¿Qué es un módulo en Python?
  2. ¿Cómo hacer un módulo en Python?
    1. Crear módulos usando funciones
    2. Crear módulos usando clases

¿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:

  1. 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.
  2. 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.
  3. 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.

modulos en python

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.

modulos en python usando clases

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.

Pionera del caos

Ingeniera Informática con Máster en Bioinformática, casi doctora y freelancer. Todo lo que te cuento en este blog son aprendizajes que yo misma he tenido ya sea durante mis estudios o en otros proyectos!

Otras Entradas Relacionadas

  1. Mario dice:

    Muy buen tutorial, me gustó mucho y me ayudó: Muchas Gracias.

    1. Macarena dice:

      Me alegro de que te haya sido de utilidad!! ☺️

  2. Ariel Valdes dice:

    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.

    1. Macarena dice:

      Buenas Ariel Valdes, en esta entrada del blog te hablo de las bases de datos: https://tutorialesinformatica.com/programacion/bases-de-datos/ en esta otra te hablo de bases de datos en excel: https://tutorialesinformatica.com/ofimatica/bases-de-datos-en-excel-6/
      y en esta última hago lo mismo usando Django: https://tutorialesinformatica.com/programacion/modelos-django/

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *



Para continuar es necesario que confirmes la política de privacidad de la web.

Subir