Los fundamentos de Python que realmente se quedan contigo
No se trata de memorizar sintaxis: se trata de entender por qué el código se comporta como se comporta. Estos son los conceptos que sostienen todo lo demás.
Es tentador aprender Python copiando fragmentos de código hasta que funcionan. El problema aparece semanas después, cuando ese mismo patrón falla en un contexto ligeramente distinto y no hay manera de saber por qué.
Variables, tipos y mutabilidad
Python distingue entre tipos mutables (listas, diccionarios) e inmutables (tuplas, strings, números). Esta distinción no es un detalle académico: explica por qué modificar una lista dentro de una función puede alterar la lista original, mientras que reasignar un número no.
def agregar_item(lista, item):
lista.append(item) # muta la lista original
numeros = [1, 2, 3]
agregar_item(numeros, 4)
print(numeros) # [1, 2, 3, 4]Funciones como ciudadanos de primera clase
En Python, una función se puede asignar a una variable, pasar como argumento a otra función, o devolver desde otra función — igual que cualquier otro valor. Esta idea es la base de conceptos más avanzados como los decoradores y las funciones de orden superior (map, filter, sorted con key).
Un ejemplo concreto
personas = [{"nombre": "Ana", "edad": 30}, {"nombre": "Luis", "edad": 25}]
personas_ordenadas = sorted(personas, key=lambda p: p["edad"])Errores y excepciones
Un programa que nunca maneja errores no es más simple, es más frágil. Entender try/except desde el principio — y por qué capturar Exception a secas suele ser un error — evita que los bugs se conviertan en un misterio.
De la teoría a la práctica
Estos fundamentos no se aprenden leyendo, se aprenden escribiendo código y viendo qué pasa cuando algo sale mal. Explora la ruta de Desarrollador Python y practica cada concepto con ejercicios calificados al instante.