Funciones lambda en Python

Lambda nos sirve para crear pequeñas funciones anónimas, de una sola línea sobre la marcha. Las formas lambda se pueden usar en cualquier lugar siempre que se necesite un objeto función.

>>>
>>> cuadrado = lambda x: x**2
>>> cuadrado(2)
4
>>> cuadrado(3)
9
>>>

Como podemos notar las funciones lambda no tienen nombre. Pero gracias a que lambda crea una referencia a un objeto función, la podemos llamar.

>>>
>>> lambda x: x**2
<function <lambda> at 0xb74469cc>
>>>
>>> (lambda x: x**2)(3)
9
>>>

Además “lambda” no necesita de “return” para retornar un valor, ya que está implícito, puesto que la función entera debe ser una única expresión.

En general, una función “lambda” es una función que puede tomar cualquier número de argumento y devuelve el valor de una expresión simple.

>>>
>>> a = lambda x, f, y: x**2
>>> a(4,5,6)
16
>>>

lambda no puede tener sentencias, ni más de una expresión. No intente exprimir demasiado una función lambda; si necesita algo más complejo, defina en su lugar una función normal y hágala tan grande como quiera. lambda se debe usar donde se desee encapsulación, código no reutilizable, no ensucie su código con un montón de pequeñas funciones de una sola línea.

Algo a tener muy en cuenta es que la función lambda no pude devolver un valor Falso (False), la función es siempre Verdadera (True); su valor de retorno puede ser cualquier cosa.

>>>
>>> (lambda x: x**2) and True
True
>>>

By: Jolth

Anuncios

4 pensamientos en “Funciones lambda en Python

  1. Hola, muy bien explicado, excepto la ultima parte que dice que no puede devolver un valor Falso(False), esto no es claro o no es cierto.

    Ejemplo:
    >>> a = lambda x:x>> a(6)
    False

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s