一般情况下,lambda就像是一个函数简化器,它允许在所用代码中嵌入函数的定义。它们完全是可选的(一直都可以使用def替换它们),但只需嵌入少量可执行代码,就能使代码结构更加简洁,从而大大简化代码复杂性,提高代码可读性。

1、优点

(1)减少重复代码;

(2)模块化代码。

2、实例

# def函数
def square(x):
  return x**2
squared = map(square, [1, 2, 3, 4, 5])
 # lambda函数
squared = map(lambda x: x**2, [1, 2, 3, 4, 5])

知识点扩展:

什么是匿名函数

在python中,匿名函数,顾名思义,就是没有名字的函数,它主要用在那些只使用一次的场景中。如果我们的程序中只需要调用一次某个简单逻辑,把它写成函数还需要先定义、取函数名字等一些列操作,这种场景下使用匿名函数往往能够让你的程序更加简单。

匿名函数还有名称,叫做lambda

----计算一个数的平方---
>>> lambda x: x**2
<function <lambda> at 0x7f6ebe013a28> 
---注意,这个是一个函数的地址---
>>> func=lambda x: x**2
>>> func(2)
4
>>> 
>>> func(3)
9

利用lambda,我们实现对一个数字x求平方的运算,在python中,**代表乘方操作。

上面的例子中,x就是参数,冒号后面的x**2就是expression表达式。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。