Es posible que quieras reutilizar las funciones que creaste para algún programa en próximos proyectos. Python nos permite empaquetarlas para poderlas utilizar posteriormente, el mecanismo que se utiliza se conoce como módulo. Python tiene muchos módulos estándar, per también es posible crearlos. Vamos a empezar con uno de ellos para adentrarnos en su funcionamiento.
math es un modulo que tiene definidas funciones matemáticas, entre las que están funciones exponenciales, trigonométricas o logarítmicas. También tiene definidas algunas contantes matemáticas. Vamos a empezar.
Primero debemos importar el modulo y para ellos se utiliza la palabra reservada import. Esto carga en el interprete todas las definiciones que estén en el modulo para que podamos utilizarlas. Usemos el siguiente código en el interprete.
import math
math.pi
>>> import math
>>> math.pi
3.141592653589793
En el código anterior, después de haber importado el modulo math, llamamos a la variable pi. La forma de hacerlos fue poniendo modulo.variable. Utilizaremos esta estructura para llamar cualquiera de las definiciones contenidas en el modulo. Probemos con la función factorial. El modulo se importa una vez por lo que ya no es necesario importarlo de nuevo si no has cerrado el interprete.
math.factorial(5)
>>> math.factorial(5)
120
También es posible crear tus propios módulos. Vamos a utilizar la función saludo() tomada de la sección anterior.
# Definicion de la funcion
def saludo():
print("Hola")
Antes de seguir, te recomiendo leer cómo ejecutar un script en Python ya que ahí vemos como crear un archivo para ejecutarlo con Python paso a paso.
Vamos a pegar el código anterior en un archivo nuevo que llamaremos modulo.py y desde una terminal ubicada en la ruta donde se encuentra el archivo, abramos un interprete en modo interactivo. Ahora importemos nuestro modulo recién creado, para ello usamos import seguido del nombre del archivo pero sin .py . Ahora ya podemos utilizar la función saludo().
import modulo
modulo.saludo()
>>> import modulo
>>> modulo.saludo()
Hola
Es posible que al crear nuestros módulos hagamos uso de funciones que están dentro de los módulos estándar de Python. Esto se logra incluyendo la parte de importación dentro del archivo. De esta forma al cargar nuestro modulo se carga también los módulos que requiera.
Vamos a incluir en nuestro módulo una función que nos muestre el factorial de 5. El código quedaría de la siguiente manera. Recuerda que las modificaciones se deben hacer sobre el archivo modulo.py .
import math
# Definicion de la funcion
def saludo():
print("Hola")
def fact():
print(math.factorial(5))
Una vez que estén guardados los cambios es necesario volver a importar el modulo para que el interprete este enterado de las modificaciones.
import modulo
modulo.fact()
>>> import modulo
>>> modulo.fact()
120
¿Qué te parecen los módulos? Cuéntanos como te fue creando tu propio modulo. Estamos por llegar al final de la serie Python para principiantes, nos quedan un par de entradas. En la siguiente veremos cómo manejar los errores que se nos puedan presentar al ejecutar nuestros programas.