Python logo

Introducción a Python: Importación y uso de modulos

Conoce mi nuevo proyecto: Tutoriales de programación en Programador Plus

Este post es parte del Curso de introducción a Python 3:

  1. Introducción a Python: Porque programar con Python
  2. Instalación de Python 3 y IDLE
  3. Primer programa: “Hola Mundo”
  4. Tipos de datos en Python
  5. Asignación y uso de variables
  6. Valores booleanos
  7. Colecciones de datos en Python: Listas y Tuplas
  8. Condicionales: If, else, elif
  9. Ciclos en Python
  10. Definición y uso de funciones en Python
  11. Importación de módulos en Python
  12. Uso de strings en Python

Introducción

Los modulos son archivos de Python que contienen funciones y variables que podemos utilizar en nuestros programas al importarlos.

Los modulos permiten organizar mejor el código al separar las funciones del flujo de trabajo del programa, además de existir modulos predefinidos existentes en la biblioteca estándar de Python que nos permiten aumentar las capacidades de nuestros programas.

A un conjunto de modulos organizados se les llama paquete.

Modulos en Python

Importación

Para importar modulos en Python basta con usar la palabra reservada import, seguida del nombre del modulo:

import nombre_del_modulo

Eso importara las funciones dentro del modulo en un espacio de nombres diferente del actual. Es decir, no podrás acceder a las funciones del modulo directamente, si no que tendras que escribir antes el nombre del modulo seguido de un punto.

Por ejemplo, el siguiente código importa el modulo math de la biblioteca estándar de Python, y utilizamos las funciones pow() y sqrt() para obtener el cuadrado y raíz cuadrada de pi.

https://gist.github.com/Nxz02/067137a39a4831b2f4c999df169e841b

Sin embargo, aunque el prefijo de las funciones y variables importadas de modulos ayuda a prevenir sobreescritura de los objetos que hayas declarado localmente, estos pueden llegar a tener nombres muy largos y dificultar la lectura del código.

Esto se puede solucionar importando las partes del modulo que necesites al mismo espacio de nombres del programa, con la siguiente sintaxis:

from modulo import funcion, variable

Repitiendo el ejemplo anterior aplicando este método:

https://gist.github.com/Nxz02/6834531189d0385cb55b4d2b1e36175c

Nota como, sin importar que sean funciones o variables lo que estemos importando, nunca se usan parentesis.

Como puedes ver, el código ahora es considerablemente más corto y limpio. Considera utilizar esta sintaxis cuando no exista conflicto entre los nombres de las funciones del modulo y las propias del programa que estes escribiendo (En este caso, Python ya cuenta con una función pow(), por lo que es sobreescrita por math.pow()).

Una tercer forma de importar funciones y variables es la siguiente:

from modulo import *

En este caso, todas las funciones y variables del modulo son importadas a nuestro programa, algo útil cuando vas a trabajar intensivamente con algun modulo o paquete en especifico, sin embargo, es mucho más facil tener conflictos de nombres de esta forma, especialmente si trabajas con varios modulos o paquetes con propositos similares.

Instalación de modulos

Puedes agregar más modulos y paquetes a Python utilizando pip una herramienta desarrollada por el equipo de Python especificamente para esta labor.

Windows

Si eres usuario de Windows, ya debes contar con pip en tu sistema si utilizaste el instalador oficial de Python 3.6.5 en Python.org.

Puedes instalar modulos escribiendo:

pip install nombre-del-modulo

Por ejemplo, el siguiente comando instala el modulo setuptools, necesario para agregar muchos de los modulos de Python a nuestro sistema:

pip install setuptools
Ubuntu

Si eres usuario de Ubuntu o Linux Mint es posible que cuentes con pip unicamente para Python 2.7 y no en su versión para Python 3, algo que puedes solucionar introduciendo en una terminal:

sudo apt install python3-pip

Una vez cuentes con pip para Python 3 en tu sistema, puedes utilizarlo de la siguiente forma en una terminal

pip3 install nombre-del-modulo

Por ejemplo:

pip3 install setuptools

Creación de modulos

Así como puedes descargar modulos de internet, puedes agregar los que tu mismo hayas creado a tus programas de Python.

Lo único que necesitas es crear un archivo .py con las funciones y variables que desees incluir en tu modulo y colocarlo en la misma carpeta que donde esta el archivo .py de tu programa. De esta forma podrás utilizar la misma sintaxis que vimos previamente:

import mi_modulo, from mi_modulo import mi_funcion o from mi_modulo import *

Por ejemplo, tenemos el siguiente modulo:

https://gist.github.com/Nxz02/52bd42a502e67ab19baa28b8ee7b956e

Después de colocarlo en la misma carpeta que nuestro programa, lo utilizamos con:

https://gist.github.com/Nxz02/3f052e187786b8a07b3bd2a63d0f581e

Alias

Dado que las funciones de los modulos y paquetes que importemos pueden llegar a tener nombres muy largos, podemos usar la palabra as para indicar a Python que queremos importar un modulo pero utilizarlo bajo otro nombre, es decir, un alias.

Esto lo hacemos al momento de importar el código, de la siguiente forma:

import mi_modulo as alias

Por ejemplo:

import math as m

Después de esto, ya no será necesario referirnos al modulo con su nombre original:

https://gist.github.com/Nxz02/3204e221e11049c4a3fca5972312ad55

Conclusión

Los modulos nos permiten añadir funciones a nuestro programa y organizar nuestro código al mismo tiempo. En ocasiones puede ser tentador importar todas las funciones dentro de un paquete o modulo para trabajar con nombres de funciones más cortos, sin embargo, cuando se llegan a utilizar paquetes tan grandes como Numpy o Sympy, o incluso ambos en conjunto, dicha tarea es imposible dada la cantidad de conflictos que habría con los nombres de las funciones importadas, por lo que es comun ver el uso de alias para dichos paquetes.

En el siguiente post te mostraré las capacidades de los strings, sus métodos y como aprovecharlos en tus programas.

Noé Reyes Guerra

Soy un jóven aficionado a la tecnología, felíz usuario de Linux, Firefox y Android, partidario del software libre.

6 comentarios en “Introducción a Python: Importación y uso de modulos”

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.