Cierre Python Lambda
- Sintaxis para usar la función Lambda en Python
- Usar la función Lambda en Python
- Usar la función de cierre en Python
Una función lambda se define sin nombre. También se conoce como una función anónima en Python.
Usamos una palabra clave def
para definir una función regular en Python, mientras que la palabra clave lambda
se usa para definir una función lambda.
Este tutorial le enseñará a usar la función lambda y el cierre en Python.
Sintaxis para usar la función Lambda en Python
La sintaxis de la función lambda en Python es:
lambda arguments: expression
Una función lambda solo puede tener múltiples argumentos pero solo una expresión. Evalúa la expresión y devuelve el resultado.
Usar la función Lambda en Python
El siguiente ejemplo suma 5 al valor dado e imprime el resultado.
def total(a):
return a + 5
print(total(10))
Producción :
15
Agregue múltiples argumentos y devuelva el resultado.
def total(a, b, c):
return a + b + c
print(total(10, 15, 20))
Producción :
45
En el ejemplo anterior, lambda a,b,c: a+b+c
es una función lambda donde a,b,c
son argumentos y a+b+c
es una expresión. La expresión se calcula y se muestra en la salida.
La función lambda no tiene nombre y está asignada a una variable total
.
Esta línea:
def total(a, b, c):
return a + b + c
Es equivalente a esto:
def total(a, b, c):
return a + b + c
Usar la función de cierre en Python
Antes de aprender el cierre, primero debe comprender el concepto de Python de una función anidada y una variable no local.
Una función anidada se define dentro de otra función y puede acceder a variables del ámbito adjunto.
Solo se puede acceder a dichas variables no locales dentro de su alcance y no fuera de su alcance en Python.
El siguiente ejemplo muestra una función anidada que accede a una variable no local.
def outerFunc(txt): # outer enclosing function
def innerFunc(): # nested function
print(txt)
innerFunc()
outerFunc("Hello World")
Producción :
Hello World
Como puede ver, la función anidada innerFunc
ha accedido a la variable no local txt
de la función envolvente outerFunc
.
Un cierre es un objeto de función que puede recordar valores en ámbitos adjuntos incluso si están fuera del ámbito.
def outerFunc(txt): # outer enclosing function
def innerFunc(): # nested function
print(txt)
return innerFunc
myFunc = outerFunc("Hello World")
myFunc()
Producción :
Hello World
En este ejemplo, la función anidada devuelve la función innerfunc()
en lugar de llamarla. La función outerFunc()
se llama con el texto Hello World
y se asigna a una variable myFunc
.
Y al llamar a myFunc()
, el valor se recordaba fuera del alcance.
Si elimina la función original, el valor en el ámbito adjunto aún se recordará.
del outerFunc
myFunc()
Producción :
Hello World
La siguiente es una demostración simple del uso de la función lambda y el cierre en Python.
def sum(x):
def total():
def calc(x):
return x + 5
print(calc(x))
return total
myFunc = sum(5)
myFunc()
Producción :
10
Ahora debería saber cómo usar funciones lambda y cierres en Python. Esperamos que este tutorial le resulte útil.