Una pizca de Programación Funcional en Python

Este post fue migrado de un blog hecho con Wordpress. Si se ve mal, dejame un comentario y lo arreglo.

Otra cosa que leí es el apéndice A de TPiP : A Selective and Impressionistic Short Review of Python. Encontré muchas cosas interesantes que no conocía y encontré algunas cosas sobre programación funcional que estaba buscando: funciones anónimas, lambda, map, filter y reduce... siga leyendo!

Funciones anónimas:

Python toma de la programación funcional la posibilidad de definir funciones anónimas,

la desventaja de estas es que solo las podremos usar una vez, no podemos invocarlas por su nombre, no tienen :-)

Pero justamente esta es la idea, no tener que definir funciones (simples) que solo se usaran una vez, para usar por

ejemplo (aquí es donde las estoy usando) en funciones que esperan funciones como algunos de sus argumentos (ej: map, filter)

Estas fucniones no pueden (de forma natural) ejecutar más de una sentencia.

Ejemplos para probar en el intérprete:

Ejemplo 1:

>>> lambda x: x+1 # x es el argumento de la función anónima

function _lambda at 0x40219e2c_

Si bien la función fue definida, ya no podemos usarla, no tenemos como referenciarla.

Ejemplo 2:

>>> map(lambda x: x+1, [0, 1, 2, 3])

[1, 2, 3, 4]

Ejemplo 3: una forma de darle un nombre a una función definida mediante 'lambda'

>>> nombre = lambda x: x+1

>>> nombre(5)

6

map, filter y reduce:

Escribí un script con ejemplos sobre estas funciones: funcionesPF.py

Comentarios

Comments powered by Disqus