专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Lambda函数的作用

Lambda函数的作用

更新时间:2022-05-13 09:09:14 来源:赢咖4 浏览935次

Lambda函数有什么作用?赢咖4小编来告诉大家。

1.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函数的返回内容就是表达式的值。

2.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>,)

 

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>