一、直接上实例,浅入浅出 x=int(input("q s r:")) #输入第1个参数 y=int(input("q s r:")) #输入第2个参数 add=lambda x,y:x+y #赋值给add print(add(x,y)) #传2个参数给lambda
or
squ=lambda x:x*x #赋值给squ print(squ(x)) #传1个参数给lambda
二、lambda 语法
lambda 函数的语法只包含一个语句,表现形式如下:
lambda [arg1 [,arg2,.....argn]]:expression
其中,lambda 是 Python 预留的关键字,[arg…] 和 expression 由用户自定义。
具体介绍如下:
[arg…] 是参数列表,它的结构与 Python 中函数(function)的参数列表是一样的。
[arg…] 可以有非常多的形式。例如:
a, b
a=1, b=2
*args
**kwargs
a, b=1, *args
空
......
expression 是一个参数表达式,表达式中出现的参数需要在[arg......]中有定义,并且表达式只能是单行的,只能有一个表达式。
以下都是合法的表达式:
1
None
a + b
sum(a)
1 if a >10 else 0
......
三、lambda 特性
lambda 函数是匿名的:
所谓匿名函数,通俗地说就是没有名字的函数。lambda函数没有名字。
lambda 函数有输入和输出:
输入是传入到参数列表argument_list的值,输出是根据表达式expression计算得到的值。
lambda 函数拥有自己的命名空间:
不能访问自己参数列表之外或全局命名空间里的参数,只能完成非常简单的功能。
常见的lambda函数示例:
lambda x, y: x*y # 函数输入是x和y,输出是它们的积x*y
lambda:None # 函数没有输入参数,输出是None
lambda *args: sum(args) # 输入是任意个数参数,输出是它们的和(隐性要求输入参数必须能进行算术运算)
lambda **kwargs: 1 # 输入是任意键值对参数,输出是1
四、lambda 常见用法
由于lambda语法是固定的,其本质上只有一种用法,那就是定义一个lambda函数。
在实际中,根据这个lambda函数应用场景的不同,可以将lambda函数的用法扩展为以下几种:
1、将lambda函数赋值给一个变量,通过这个变量间接调用该lambda函数。
示例&#