匿名函数的特点:
- lambda 只是一个表达式,函数体较为简单。
- lambda 的主体是一个表达式,而不是一个代码块。
- lambda 函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
基本语法:
lambda [arg1 [,arg2,.....argn]]:expression
sum = lambda num1,num2 : num1 - num2
print( sum(2,1)
>>1
注意:
lambda匿名函数在调用的时候使用的变量是运行时才调用不是在定义的时候,举个例子就是你在调用匿名函数的 时候一定要把匿名函数看成放到代码区的最后一行,中途如果全局变量发生改变,那么匿名函数中的值也相应的发生变化。
num2 = 1
sum1 = lambda num1 : num1 + num2 ;
num2 = 2
sum2 = lambda num1 : num1 + num2 ;
print(sum1(1))
print(sum2(1))
>>3
>>3