CodeForge

Python de Cero a Experto / Funciones

Lambda y funciones como valores

Teoría22 min20 XP

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.