martes, 14 de julio de 2026

Día 15 — Clases: introducción a la programación orientada a objetos

La programación orientada a objetos (POO) es un paradigma que modela el código a partir de "objetos" que combinan datos y comportamiento, de forma similar a como funcionan los elementos del mundo real. Una clase actúa como el molde o plantilla, y un objeto es cada instancia concreta creada a partir de ese molde.

El método __init__ es el constructor: se ejecuta automáticamente cada vez que se crea un nuevo objeto, y normalmente se usa para inicializar sus atributos. El parámetro self hace referencia al propio objeto dentro de cualquier método de la clase, y siempre debe aparecer como primer parámetro.

Código de ejemplo:

class Persona: def __init__(self, nombre, edad): self.nombre = nombre self.edad = edad def presentarse(self): return f"Soy {self.nombre} y tengo {self.edad} años" jose = Persona("José", 35) print(jose.presentarse()) print(jose.nombre) # Acceso directo al atributo




lunes, 13 de julio de 2026

Día 14 — Resumen: dos semanas de Python completadas

Tras dos semanas de aprendizaje constante, ya dominas los fundamentos sólidos del lenguaje: variables, tipos de datos, condicionales, bucles, listas, diccionarios, tuplas, sets, funciones y argumentos flexibles. Este es el momento ideal para combinar todo lo aprendido en un único ejercicio práctico que demuestre tu progreso.

A partir de la próxima semana entrarás en terreno más avanzado: programación orientada a objetos, manejo de errores y trabajo con archivos. Estos conceptos son los que marcan la diferencia entre escribir scripts simples y construir aplicaciones robustas.

Código de ejemplo:

datos = {"nombre": "tú", "nivel": 2} numeros = [1, 2, 3, 4, 5] cuadrados = [n ** 2 for n in numeros] pares = {x for x in numeros if x % 2 == 0} def analizar(*valores): return sum(valores) / len(valores) print(f"Media: {analizar(*numeros)}") # Media: 3.0 print(f"Cuadrados: {cuadrados}") print(f"Pares: {pares}")




domingo, 12 de julio de 2026

Día 13 — *args y **kwargs: funciones con argumentos flexibles

A veces no sabemos de antemano cuántos argumentos recibirá una función. Para esos casos, Python ofrece *args, que agrupa cualquier cantidad de argumentos posicionales en una tupla, y **kwargs, que agrupa argumentos con nombre en un diccionario.

Estas herramientas son ampliamente utilizadas en librerías y frameworks profesionales como Flask, FastAPI o Django, donde las funciones necesitan aceptar configuraciones muy variables sin tener que predefinir cada parámetro posible.

Código de ejemplo:

def suma(*numeros): return sum(numeros) print(suma(1, 2, 3, 4)) # 10 print(suma(5, 10)) # 15 def crear_perfil(**datos): for clave, valor in datos.items(): print(f"{clave}: {valor}") crear_perfil(nombre="José", ciudad="Sevilla", edad=35)