miércoles, 8 de julio de 2026

Día 10 — Funciones: código reutilizable con def

Una función es un bloque de código con nombre propio que puedes ejecutar (o "llamar") tantas veces como necesites, evitando así repetir lógica a lo largo de tu programa. Se define con la palabra clave def, seguida del nombre, los parámetros entre paréntesis y dos puntos.

Los parámetros pueden tener valores por defecto, lo que los convierte en opcionales al llamar a la función. La palabra clave return es la que permite que la función "devuelva" un resultado para que pueda usarse en otra parte del programa; si no se especifica, la función devuelve None por defecto.

Código de ejemplo:

def saludar(nombre, edad=18): return f"Hola {nombre}, tienes {edad} años" print(saludar("Ana", 25)) # Hola Ana, tienes 25 años print(saludar("Luis")) # Hola Luis, tienes 18 años (default) def es_par(numero): return numero % 2 == 0 print(es_par(10)) # True




martes, 7 de julio de 2026

Día 9 — Diccionarios: datos organizados por clave y valor

Un diccionario almacena información en pares de clave y valor, permitiendo acceder a los datos por su nombre en lugar de por su posición numérica, como ocurre en las listas. Esto los hace ideales para representar objetos del mundo real, como una persona, un producto o una configuración.

Los diccionarios son además la estructura más cercana al formato JSON, que es el estándar utilizado en la inmensa mayoría de las APIs web actuales. Aprender a manejarlos bien en Python te facilitará enormemente el trabajo con APIs y bases de datos más adelante.

Código de ejemplo:

persona = { "nombre": "José", "edad": 35, "ciudad": "Sevilla" } print(persona["nombre"]) # José persona["trabajo"] = "Dev" # Añadir nueva clave print(persona.keys()) # Todas las claves print(persona.values()) # Todos los valores for clave, valor in persona.items(): print(f"{clave}: {valor}")




lunes, 6 de julio de 2026

Día 8 — Listas: colecciones ordenadas de datos

Una lista es una de las estructuras de datos más usadas en Python: permite guardar múltiples valores en un único contenedor, manteniendo siempre el orden en que fueron añadidos. Cada elemento tiene un índice que empieza en 0, y se puede acceder a los últimos elementos usando índices negativos (-1 es el último).

Las listas son mutables, lo que significa que puedes añadir, eliminar o modificar elementos después de crearlas. El "slicing" (lista[inicio:fin]) te permite extraer una porción concreta sin necesidad de recorrer toda la lista manualmente.

Código de ejemplo:

numeros = [10, 20, 30, 40, 50] print(numeros[0]) # 10 (primer elemento) print(numeros[-1]) # 50 (último elemento) print(numeros[1:3]) # [20, 30] (slicing) numeros.append(60) # Añade al final numeros.remove(10) # Elimina el valor 10 numeros.sort() # Ordena la lista print(len(numeros)) # Cuenta los elementos