miércoles, 22 de julio de 2026

Día 23 — Decoradores: añadiendo superpoderes a tus funciones

Un decorador es una función especial que envuelve a otra función para modificar o ampliar su comportamiento sin necesidad de alterar su código original. Se aplican colocando el símbolo @ seguido del nombre del decorador justo encima de la definición de la función.

Los decoradores son una herramienta muy presente en frameworks profesionales: en Flask y FastAPI se usan para definir rutas (@app.get), y en Django para gestionar permisos o autenticación. Entender cómo funcionan internamente ayuda mucho a comprender el comportamiento de estas herramientas.

Código de ejemplo:

import time

def medir_tiempo(funcion):
    def wrapper(*args, **kwargs):
        inicio = time.time()
        resultado = funcion(*args, **kwargs)
        print(f"Tardó: {time.time() - inicio:.4f}s")
        return resultado
    return wrapper

@medir_tiempo
def calcular():
    return sum(range(1_000_000))

print(calcular())


martes, 21 de julio de 2026

Día 22 — NumPy: cálculo numérico ultrarrápido

NumPy es la librería fundamental para el cálculo numérico en Python, y la base sobre la que se construyen herramientas como Pandas, TensorFlow o scikit-learn. Su principal ventaja es la capacidad de realizar operaciones sobre arrays completos sin necesidad de bucles explícitos, lo que se traduce en un rendimiento muchísimo mayor que el de las listas tradicionales de Python.

Esta capacidad de "vectorizar" operaciones es esencial cuando se trabaja con grandes volúmenes de datos numéricos, como ocurre habitualmente en ciencia de datos, machine learning o procesamiento de señales.

Código de ejemplo:

import numpy as np

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

print(arr * 2)        # [2 4 6 8 10] - sin bucle
print(arr.mean())     # 3.0
print(arr.sum())      # 15

# Operaciones con matrices
matriz = np.array([[1, 2], [3, 4]])
print(np.dot(matriz, matriz))    # Producto matricial




lunes, 20 de julio de 2026

Día 21 — Pandas: análisis de datos de nivel profesional

Pandas es la librería de análisis de datos más utilizada en Python, y prácticamente un estándar en el sector. Su estructura principal, el DataFrame, funciona de forma similar a una hoja de cálculo: organiza los datos en filas y columnas, permitiendo filtrar, ordenar, agrupar y calcular estadísticas con muy pocas líneas de código.

Una de sus mayores ventajas es la capacidad de leer y escribir múltiples formatos de archivo (CSV, Excel, JSON, bases de datos SQL) de forma directa, lo que la convierte en la herramienta ideal para automatizar tareas de análisis que tradicionalmente se hacían manualmente en hojas de cálculo.

Código de ejemplo:

import pandas as pd datos = { "nombre": ["Ana", "Luis", "María"], "edad": [25, 30, 28], "salario": [2500, 3200, 2800] } df = pd.DataFrame(datos) print(df) print(df["salario"].mean()) # Media de la columna print(df[df["edad"] > 27]) # Filtrar filas