Volver al blog

Escribir módulos en Python 3: un tutorial

Escribir módulos en Python 3: un tutorial

Introducción

Python es uno de los lenguajes de programación más utilizados en todo el mundo. Módulos son una parte fundamental del código de Python. Un módulo es simplemente un .py archivo en el contexto de Python 3. Esto significa que puedes referirte a cualquier archivo de Python como un módulo.

Es posible obtener estos módulos a través de la biblioteca predefinida. Puedes echar un vistazo a la Biblioteca Estándar de Python para obtener más información. Estos se instalan en tu sistema al instalar Python. En otras situaciones, puedes instalar estos módulos utilizando el gestor de paquetes de Python pip. Pero ¿y si quieres crear un módulo personalizado? Si ese es el caso, te alegrará saber que puedes crear tus propios módulos en Python.

En esta guía detallada, describiremos los pasos que debes seguir para escribir e importar módulos en Python 3.

Requisitos previos

Antes de comenzar, deberás asegurarte de tener instalado Python 3 y un entorno de programación configurado. Puedes seguir nuestro tutorial sobre cómo instalar Python 3 y configurar un entorno de programación local en Ubuntu 16.04 para completar la instalación en caso de que no la tengas lista.

¿Cómo escribir un módulo?

Comencemos con la escritura de un módulo. Escribirías un módulo tal como redactarías cualquier otro archivo de Python. Un módulo típico consta de las definiciones de las funciones, clases y variables. Posteriormente, puedes usar el módulo para aplicarlo a otros programas de Python.

Para ayudarte a entender, consideremos un ejemplo. Digamos que queremos crear un archivo llamado hello.py. Más adelante también importaremos esto en otro archivo. El primer paso en el proceso es crear una función. Esta función servirá para imprimir Hello, World! de esta manera:

En este punto, ejecutar el comando python hello.py no te dará ningún resultado. Esto se debe a que aún no hemos dado ninguna instrucción al programa. Para que funcione, necesitamos importar el módulo.

¿Cómo importar un módulo?

Para importar tu módulo para convertirlo en una función, necesitas crear un segundo archivo en el mismo directorio. Llamaremos a este nuevo archivo main_program.py. La razón por la que ambos archivos deben estar en el mismo directorio es que necesitamos guiar al programa sobre dónde encontrar el módulo. Esto es aplicable a cualquier módulo nuevo y personalizado que no esté integrado:

Usamos la notación de puntos para el nombre del módulo para llamar a la función. Otra forma de hacer esto es usar el método from...import . Aquí, llamaremos a la función como world() importando el módulo como from hello import world. Finalmente, puedes ejecutar el comando:

El comando te mostrará la siguiente salida:

Agregar variables a un módulo

A continuación, veremos cómo agregar variables al módulo colocando definiciones en él:

Posteriormente, llamarás a la variable en la función print() . La llamaremos dentro del archivo main_program.py archivo:

Al ejecutar el programa se mostrará esta salida:

Agregar una clase a un módulo

Por último, veremos cómo puedes definir una clase en tu archivo para el módulo. Continuando con nuestro ejemplo, crearemos una nueva clase llamada Octopus en el archivo hello.py. También le asignaremos los atributos de name y color. Luego, agregaremos una función para que se pueda imprimir:

A continuación, debes agregar la clase cerca del final del main_program.py archivo:

Puedes llamar a la clase con el comando hello.Octopus(). Te mostrará las funciones y atributos de la clase Octopus en el espacio de nombres del archivo. Como tal, puedes escribir jesse.tell_me_about_the_octopus() en la última línea sin invocar hello. También es posible llamar a un atributo de forma individual de la clase sin usar hello. Por ejemplo, simplemente puedes ejecutar jesse.color. Cuando ejecutes el programa, mostrará la siguiente salida:

Implementación de código con módulos

Donde puedes usar módulos para especificar definiciones, también puedes usarlos para implementar código. Digamos que queremos implementar la función world(). Reescribiremos nuestro archivo inicial hello.py por completo:

Desde el archivo main_program.py eliminaremos todo excepto la declaración de importación, dejando lo siguiente:

Ejecutar el archivo del programa principal te dará esta salida ya que el programa implementa y ejecuta la función world() :

¿Cómo acceder a un módulo desde otro directorio?

Ahora que sabes cómo crear y modificar módulos, necesitas saber cómo acceder a ellos desde otro directorio. Esto es útil cuando necesitas usar un módulo determinado en otro proyecto. Hay dos formas de hacerlo que explicaremos a continuación.

  • Anexar rutas

El primer método consiste en activar la ruta del módulo utilizando los archivos de programación que ya están usando el módulo. Desafortunadamente, hacer esto no significa que el módulo estará disponible en todo el sistema. Por lo tanto, solo se considera una solución temporal. A menudo se emplea durante la fase de desarrollo del proyecto.

Puedes comenzar el proceso de anexión importando el módulo sys y otros módulos importantes que necesites usar. Los importaremos al archivo del programa principal. Puedes encontrar el módulo sys en la biblioteca estándar de Python. Lo necesitas porque contiene los parámetros básicos y las funciones específicas de tu sistema.

Considera nuestro ejemplo anterior una vez más. Digamos que el archivo hello.py está en la ruta /usr/sammy/ y el archivo main_program.py está en otro directorio. Primero importaremos el módulo hello en el archivo main_program.py utilizando primero el módulo sys. A continuación, añadiremos /usr/sammy/ a la ruta:

Si configuras la ruta correctamente, el archivo main_program.py el archivo se ejecutará fácilmente sin errores. Recibirás el mismo resultado que cuando ambos archivos estaban en el mismo directorio.

  • Ruta de Python

La otra opción que puedes tomar es la ruta de Python. Aquí, agregarías el módulo en sí a una ruta en la que Python busca módulos y paquetes. Como probablemente puedas inferir, esto hace que el módulo esté disponible en todo el sistema, lo que lo convierte en una solución permanente viable.

Para hacer esto, necesitas averiguar dónde está buscando módulos Python. Tendrás que ejecutar el intérprete de Python desde el entorno de programación, que se ve así:

El siguiente paso es importar el sys módulo:

A continuación, imprime la ruta del sistema:

Ahora, verás una ruta del sistema como resultado. Habrá al menos una. Sin embargo, puede haber varias en un entorno de programación. En la lista, localiza el entorno que estás utilizando. Ten en cuenta que es posible que también quieras agregar el módulo a la ruta principal de Python del sistema. Se verá así:

Finalmente, mueve el hello.py archivo a este directorio e importa el módulo de la siguiente manera:

Tu intento habrá sido exitoso si el programa ejecuta el archivo sin producir ningún error. Como resultado de este proceso, podrás acceder al módulo desde cualquier directorio de tu sistema.

Conclusión

El objetivo de este tutorial era ayudarte a familiarizarte con la escritura de módulos de Python. Es muy similar a cómo escribirías cualquier archivo .py de Python. Primero hablamos sobre qué es realmente un módulo de Python y sus características asociadas. Luego, descubrimos cómo aplicar estas definiciones en otros archivos de programación en Python. Finalmente, desciframos los detalles de la accesibilidad de los módulos. Ahora ya sabes cómo escribir módulos en Python 3, así como acceder a ellos.

Para seguir ampliando tus conocimientos sobre el lenguaje de programación Python, consulta nuestro blog para obtener más recursos:

¡Feliz programación!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.