En Python las funciones son VALORES de primera clase: puedes guardarlas en variables, pasarlas a otras
funciones y devolverlas. Esto abre un estilo poderoso: pasar "qué hacer" como argumento. Y para funciones
pequeñas de una línea, las LAMBDA (funciones anónimas) evitan el ceremonial de def. Hoy dominas ambas y
su uso estelar: ordenar y procesar datos con un criterio a medida.
Pasar la receta, no solo los ingredientes
Funciones como valores
Fíjate en operacion = con_iva SIN paréntesis: guardamos la FUNCIÓN en sí (no el resultado de llamarla).
Luego operacion(10000) la ejecuta. Y como son valores, puedes PASAR una función a otra: aplicar recibe
una función y un valor, y aplica la función al valor —cambias el comportamiento pasando otra función—. Esta
idea (funciones que reciben funciones) es la base de mucho código elegante.
Lambda: funciones anónimas
El uso estrella: sorted con key
¿Qué es una lambda y cuál es su uso más idiomático en Python?
Mini-reto
Ordena y procesa gastos de Mi Bolsillo: 1) dada una lista de diccionarios de gastos (nombre, valor,
categoria), ordénala por valor de mayor a menor con sorted(..., key=lambda...); 2) encuentra el gasto más
caro con max(gastos, key=lambda g: g["valor"]); 3) crea una función aplicar(funcion, lista) que aplique
una función a cada elemento (con una comprehension) y pásale una lambda que calcule el IVA. Compara ordenar
por valor vs por nombre.
Qué sigue
Ya pasas funciones como valores. La próxima lección aclara un tema que causa muchos bugs: el SCOPE (dónde
"vive" cada variable, local vs global), y añade dos buenas prácticas profesionales: los DOCSTRINGS
(documentar funciones) y las anotaciones de tipo. Con eso tus funciones serán claras y robustas.