Módulos con Python

Podríamos definir un módulo de Python como un bloque de código que es reutilizable en otros programas. Suelen incluir clases, funciones y variables para que sean utilizadas desde otros archivos y programas.

Módulos en Python

En un módulo podemos encontrar diferentes bloques de código; por ejemplo, una función que realice sumas y otra que realice restas. Por esta razón, cuando lo importamos en nuestro programa, podemos elegir que se importe el módulo completo o solo una parte de este.

Veámoslo con un ejemplo en el que crearé dos archivos: uno llamado modulos.py y otro programa.py.

Crear módulo Python

En modulos.py crearé dos funciones de Python: una para sumar y otra para restar. El resultado devuelto será una cadena con un mensaje y el total de la operación aritmética.

El nombre que demos a nuestro archivo es muy importante, ya que tendremos que utilizarlo posteriormente para importarlo.

def sumar(a, b):
    return (f'El resultado de la suma es: {a + b}')

def restar(a, b):
    return (f'El resultado de la resta es: {a - b}')

Importar módulo Python

En el archivo que contendrá nuestro programa lo primero que haremos será importar este módulo que acabamos de crear. Después utilizaremos la función sumar() que incluye nuestro módulo.

import modulos

resultado = modulos.sumar(10, 10)
print(resultado)

# El resultado de la suma es: 20

De esta forma, podríamos reutilizar las funciones sumar() y restar() en todos los programas que nos hiciese falta.

Pero si solo vamos a necesitar la función de sumar(), no hace falta que importemos todas las funciones incluidas en modulos. Podemos importar solo la que nos interese.

from modulos import sumar

resultado = modulos.sumar(10, 10)
print(resultado)

# El resultado de la suma es: 20

Veamos ahora una forma de crear un alias para nuestro módulo importado. De este modo, podemos aclararnos mucho mejor, sobre todo cuando utilizamos módulos que han creado otras personas.

Imaginemos que alguien creó un módulo para multiplicar, pero lo hizo en inglés, llamó a su archivo arithmetic_operations y a la función de multiplicar, multiply().

def multiply(a, b):
    return a * b

def divide(a, b):
    return a / b

Ahora nosotros queremos importarlo y darle un alias en el idioma que mejor entendemos; para ello, le indicaremos mediante ‘as’ que cuando nombremos a operaciones haga referencia a aritmetic_operations.

import aritmetic_operations as operaciones

resultado = operaciones.multiply(10, 10)
print(resultado)

# 100

Ahora crearemos otro ejemplo en el que importaremos solo la función multiply() y le agregaremos el alias m. Cuando hagamos referencia a m, estaremos llamando a la función multiplicar de aritmetic_operations.

from aritmetic_operations import multiply as m

resultado = m(20, 10)
print(resultado)

# 200

Utilizando alias podemos reducir las líneas de código y hacerlas más entendibles para nosotros.

Al crear un alias, debemos tener especial cuidado de que este no coincida con el nombre de ninguna variable, y viceversa (porque estaríamos cambiando el tipo).

Lo vemos con un ejemplo: primero m es una función y luego, cuando le asignamos el valor 10 pasa a ser de tipo int.

from aritmetic_operations import multiply as m

print(type(m))
m = 10
print(type(m))

# <class 'function'>
# <class 'int'>

Por aquí dejo el enlace a la documentación oficial de Python sobre módulos.

Dejar un comentario

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