Módulos de Python: Conceptos y Aplicaciones Prácticas

Organización del Código con Módulos en Python

Los módulos permiten encapsular funcionaliaddes reutilizables en archivos con extensión .py, definiendo funciones, clases y variables que pueden imoprtarse en otros programas. Esta estructura evita la contaminación del espacio de nombres global y mejora la mantenibilidad del código.

Creación de un Módulo Personalizado

Para definir un módulo, guarda el código relevante en un archivo .py. Ejemplo de un módulo para cálculos geométricos:

# calculos_geometricos.py
def area_circulo(radio):
    """Retorna el área de un círculo."""
    from math import pi
    return pi * radio ** 2

def area_rectangulo(largo, ancho):
    """Retorna el área de un rectángulo."""
    return largo * ancho

def perimetro_cuadrado(lado):
    """Retorna el perímetro de un cuadrado."""
    return 4 * lado

Importación Completa con import

Utiliza import para cargar el módulo entero y acceder a sus componentes mediante el nombre del módulo.

# app_principal.py
import calculos_geometricos

valor = calculos_geometricos.area_circulo(7)
print(valor)  # Salida: 153.93804002589985

valor = calculos_geometricos.area_rectangulo(8, 3)
print(valor)  # Salida: 24

valor = calculos_geometricos.perimetro_cuadrado(5)
print(valor)  # Salida: 20

Importación Selectiva con from...import

Emplea from...import para importar funciones específicas, permitiendo su uso directo sin prefijos.

# script_secundario.py
from calculos_geometricos import area_circulo, perimetro_cuadrado

resultado = area_circulo(4)
print(resultado)  # Salida: 50.26548245743669

resultado = perimetro_cuadrado(9)
print(resultado)  # Salida: 36

Rutas de Búsqueda de Módulos

Python busca módulos en el directorio actual, las rutas de PYTHONPATH, los directorios de la biblioteca estándar y los paquetes instalados. Para inspeccionar las rutas:

import sys
print(sys.path)

Ejecución como Script Independiente

Para permitir que un módulo se ejecute como programa principal o se importe, usa la condición if __name__ == "__main__":.

# calculos_geometricos.py (versión modificada)
def area_circulo(radio):
    from math import pi
    return pi * radio ** 2

def ejecutar_demostracion():
    print(area_circulo(3))  # Salida: 28.274333882308138

if __name__ == "__main__":
    ejecutar_demostracion()

Al ejecutar directamente, se llama a ejecutar_demostracion(); al importar, no.

Estructura de Paquetes para Proyectos Grandes

Los paquetes agrupan módulos en directorios con un archivo __init__.py, que puede estar vacío o contener código de inicialización. Ejemplo de estructura:

mi_aplicacion/
├── __init__.py
├── auxiliares.py
└── entrada.py

En auxiliares.py:

# auxiliares.py
def formatear_saludo(nombre):
    return f"Bienvenido, {nombre}."

En entrada.py:

# entrada.py
from .auxiliares import formatear_saludo
print(formatear_saludo("Carlos"))  # Salida: Bienvenido, Carlos.

Módulos de la Biblioteca Estándar

La biblioteca estándar de Python ofrece módulos intgerados para diversas tareas. Ejemplo con datetime:

import datetime
ahora = datetime.datetime.now()
print(ahora.strftime("%Y-%m-%d %H:%M"))  # Salida: fecha y hora actual

Gestión de Módulos de Terceros con pip

Los módulos de terceros se instalan mediante pip. Por ejemplo, instalar y utilizar requests:

pip install requests

Uso en código:

import requests
respuesta = requests.get("https://ejemplo.org")
print(respuesta.headers["content-type"])  # Salida: tipo de contenido de la respuesta

Etiquetas: Python Módulos importación paquetes pip

Publicado el 6-18 03:10