En Python, los módulos y paquetes son fundamentales para organizar y reutilizar el código. Este tema te enseñará cómo crear y utilizar módulos y paquetes, lo que te permitirá estructurar tus proyectos de manera más eficiente y mantener tu código limpio y manejable.

  1. ¿Qué es un Módulo?

Un módulo en Python es un archivo que contiene definiciones y declaraciones de Python, como funciones, clases y variables. Los módulos permiten dividir el código en partes más pequeñas y manejables.

Importación de Módulos

Para utilizar un módulo en tu programa, debes importarlo. La forma más sencilla de hacerlo es utilizando la palabra clave import.

# Importando el módulo math
import math

# Usando una función del módulo math
print(math.sqrt(16))  # Salida: 4.0

Importación de Funciones Específicas

También puedes importar funciones específicas de un módulo utilizando la sintaxis from ... import ....

# Importando solo la función sqrt del módulo math
from math import sqrt

print(sqrt(16))  # Salida: 4.0

Alias para Módulos

Puedes asignar un alias a un módulo para abreviar su nombre.

# Importando el módulo math con un alias
import math as m

print(m.sqrt(16))  # Salida: 4.0

  1. Creación de un Módulo

Crear un módulo es tan sencillo como guardar un archivo con extensión .py. Por ejemplo, crea un archivo llamado mimodulo.py con el siguiente contenido:

# mimodulo.py

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

PI = 3.14159

Luego, puedes importar y usar este módulo en otro archivo:

# main.py

import mimodulo

print(mimodulo.saludar("Mundo"))  # Salida: Hola, Mundo!
print(mimodulo.PI)  # Salida: 3.14159

  1. ¿Qué es un Paquete?

Un paquete es una colección de módulos organizados en directorios que contienen un archivo especial llamado __init__.py. Este archivo puede estar vacío o puede ejecutar código de inicialización para el paquete.

Estructura de un Paquete

Supongamos que tienes la siguiente estructura de directorios:

mi_paquete/
    __init__.py
    modulo1.py
    modulo2.py

Importación de Módulos desde un Paquete

Puedes importar módulos desde un paquete de la siguiente manera:

# Importando un módulo desde un paquete
from mi_paquete import modulo1

# Usando una función del módulo importado
modulo1.mi_funcion()

Ejemplo Práctico

Crea un paquete llamado mi_paquete con la siguiente estructura:

mi_paquete/
    __init__.py
    operaciones.py

Contenido de operaciones.py:

# operaciones.py

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

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

Contenido de __init__.py:

# __init__.py

from .operaciones import sumar, restar

Ahora puedes usar el paquete en otro archivo:

# main.py

from mi_paquete import sumar, restar

print(sumar(5, 3))  # Salida: 8
print(restar(5, 3))  # Salida: 2

  1. Ejercicios Prácticos

Ejercicio 1: Crear y Usar un Módulo

  1. Crea un archivo llamado matematicas.py y define las siguientes funciones:

    • suma(a, b): Devuelve la suma de a y b.
    • resta(a, b): Devuelve la resta de a y b.
  2. Crea un archivo llamado main.py y usa las funciones del módulo matematicas.

Solución:

matematicas.py:

# matematicas.py

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

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

main.py:

# main.py

import matematicas

print(matematicas.suma(10, 5))  # Salida: 15
print(matematicas.resta(10, 5))  # Salida: 5

Ejercicio 2: Crear y Usar un Paquete

  1. Crea un paquete llamado utilidades con la siguiente estructura:

    utilidades/
        __init__.py
        cadenas.py
    
  2. En cadenas.py, define las siguientes funciones:

    • mayusculas(cadena): Devuelve la cadena en mayúsculas.
    • minusculas(cadena): Devuelve la cadena en minúsculas.
  3. En __init__.py, importa las funciones de cadenas.py.

  4. Crea un archivo llamado main.py y usa las funciones del paquete utilidades.

Solución:

utilidades/cadenas.py:

# cadenas.py

def mayusculas(cadena):
    return cadena.upper()

def minusculas(cadena):
    return cadena.lower()

utilidades/__init__.py:

# __init__.py

from .cadenas import mayusculas, minusculas

main.py:

# main.py

from utilidades import mayusculas, minusculas

print(mayusculas("hola"))  # Salida: HOLA
print(minusculas("HOLA"))  # Salida: hola

Conclusión

En esta sección, aprendiste cómo crear y utilizar módulos y paquetes en Python. Los módulos te permiten organizar tu código en archivos separados, mientras que los paquetes te permiten organizar módulos en directorios. Estas herramientas son esenciales para mantener tu código limpio, modular y fácil de mantener. En el próximo módulo, exploraremos las estructuras de datos en Python, comenzando con listas.

Curso de Programación en Python

Módulo 1: Introducción a Python

Módulo 2: Estructuras de Control

Módulo 3: Funciones y Módulos

Módulo 4: Estructuras de Datos

Módulo 5: Programación Orientada a Objetos

Módulo 6: Manejo de Archivos

Módulo 7: Manejo de Errores y Excepciones

Módulo 8: Temas Avanzados

Módulo 9: Pruebas y Depuración

Módulo 10: Desarrollo Web con Python

Módulo 11: Ciencia de Datos con Python

Módulo 12: Proyecto Final

© Copyright 2024. Todos los derechos reservados