更新时间:2022-05-13 09:09:14 来源:极悦 浏览1025次
Lambda函数有什么作用?极悦小编来告诉大家。
lambda函数又称匿名函数,有些情况下我们不用显式定义而采用匿名函数会让代码看上去更加简洁。
In [48]: ls = [1,2,3]
In [49]: print(list(map(lambda x:x*x, ls)))
[1, 4, 9]
上面的例子中,通过lambda函数使得我们可以在不显式定义函数的情况下为map传递了一个函数,这使得代码看上去更为简洁直观。
关键词lambda定义了一个匿名函数,冒号前面的是匿名函数的参数(当需要多个参数时,参数之间用逗号,分割),冒号后的是一个表达式,lambda函数的返回内容就是表达式的值。
lambda函数也是一个函数对象,所以也可以赋值给一个变量。
In [50]: lambda x,y:x*x+y*y
Out[50]: <function __main__.<lambda>>
In [51]: f1 = lambda x,y:x*x+y*y
In [52]: f1(1,2)
Out[52]: 5
lambda函数也作为返回值返回。
In [53]: def f():
...: x = 1
...: return lambda y:x*x+y*y # lambda函数引用了本地变量x,并且在函数f结束后保存了x的状态
...:
In [54]: m = f()
In [55]: m(2)
Out[55]: 5
In [56]: m.__closure__ # 证明m是一个闭包
Out[56]: (<cell at 0x00000132044E9E28: int object at 0x0000000051F260C0>,)
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习