Módulos

Python

Introducción a Módulos

En Python, un módulo es un archivo que contiene código, generalmente funciones, clases, y variables, que puedes importar y reutilizar en diferentes partes de tu programa. Esto te ayuda a dividir tu código en partes organizadas y reutilizables, haciendo que el desarrollo sea más eficiente y limpio.

Por ejemplo, imagina que quieres crear un módulo para realizar saludos y otro para despedidas:

Ejemplo 1: Módulo de saludo

# modulo_saludo.py
def saludar():
    print("Hola Mundo")

Ejemplo 2: Módulo de despedida

# modulo_despedida.py
def despedir():
    print("Adiós Mundo")

Estos módulos contienen funciones que realizan acciones específicas: uno saluda y el otro se despide. Ahora veremos cómo crear y utilizar módulos en Python.

Creando Módulos Personalizados

Para crear un módulo en Python, solo necesitas crear un archivo .py y definir en él las funciones o clases que deseas usar. A continuación, veamos cómo crear módulos más complejos.

Ejemplo: Módulo de saludo con nombre

# modulo_saludar.py

def saludar(nombre):
    print(f"Hola, {nombre}!")

Este módulo acepta un argumento nombre, permitiéndote personalizar el saludo.

Usando Módulos en un Archivo Principal

Para utilizar los módulos que has creado, necesitas importarlos en un archivo principal. Aquí, importamos ambos módulos anteriores y ejecutamos las funciones:

# main.py
import modulo_saludar
import modulo_despedida

if __name__ == "__main__":
    modulo_saludar.saludar("Juan")
    modulo_despedida.despedir()

En este ejemplo, importamos los módulos modulo_saludar y modulo_despedida y usamos las funciones saludar y despedir.

Importando y Renombrando Módulos

A veces, renombrar un módulo en el momento de importarlo hace el código más claro. Esto se logra con la palabra clave as:

# main.py
import modulo_saludar as saludo
import modulo_despedida as despedida

saludo.saludar("Ana")
despedida.despedir()

Esto permite usar nombres cortos y descriptivos en el código.

Importando Funciones Específicas de un Módulo

Si solo necesitas una función de un módulo, puedes importarla directamente:

from modulo_saludar import saludar

saludar("Carlos")

Aquí importamos únicamente la función saludar de modulo_saludar, sin necesidad de importar el módulo completo.

Usando Módulos Externos con pip

Además de tus propios módulos, Python permite instalar y utilizar módulos externos usando pip, el gestor de paquetes de Python. Veamos un ejemplo con numpy, un módulo popular para trabajar con arreglos numéricos.

Instalando un módulo con pip

pip install numpy

Usando el módulo instalado

import numpy as np

a = np.array([1, 2, 3, 4, 5])
print(a)

Este ejemplo muestra cómo instalar y utilizar numpy para crear un arreglo.

Instalando otro módulo

Además de numpy, Python tiene muchos módulos útiles para diferentes tareas. Por ejemplo, emojis es un módulo que te permite imprimir emojis en la consola.

pip install emojis

Usando el módulo emojis

import emojis

print(emojis.encode(":smile:"))

Este ejemplo muestra cómo instalar y utilizar el módulo emojis para imprimir emojis en la consola.

😄

Actividad Práctica

Sigue estos pasos para practicar la creación y uso de módulos en Python.

  1. Crear un módulo modulo_calculadora.py que contenga las funciones sumar, restar, multiplicar, y dividir:
Ver solución
# modulo_calculadora.py

def sumar(a, b):
    return a + b

def restar(a, b):
    return a - b

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

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

Crear un archivo main.py que importe el módulo modulo_calculadora y utilice sus funciones:

# main.py
import modulo_calculadora

print(modulo_calculadora.sumar(10, 5))
print(modulo_calculadora.restar(10, 5))
print(modulo_calculadora.multiplicar(10, 5))
print(modulo_calculadora.dividir(10, 5))
  1. Instalar numpy y crear un archivo main_numpy.py que lo use para crear un arreglo:
Ver solución
# main_numpy.py
import numpy as np

a = np.array([1, 2, 3, 4, 5])
print(a)

Crear un archivo main_pandas.py que utilice pandas para crear un DataFrame y lo imprima:

# main_pandas.py
import pandas as pd

data = {'Nombre': ['Juan', 'Ana', 'Luis'], 'Edad': [23, 30, 27]}
df = pd.DataFrame(data)
print(df)
  1. Crear un archivo main_matplotlib.py para graficar una función:
Ver solución
# main_matplotlib.py
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)

plt.plot(x, y)
plt.show()
  1. Instalar el módulo emojis y crear un archivo main_emojis.py que imprima emojis en la consola:
Ver solución
# main_emojis.py
import emojis

print(emojis.encode(":smile:"))
print(emojis.encode(":heart:"))
print(emojis.encode(":rocket:"))

Conclusión

Los módulos en Python son una herramienta poderosa para estructurar y reutilizar código. Con módulos, puedes dividir tu código en archivos independientes y organizados, lo cual facilita el desarrollo de aplicaciones escalables y mantenibles.