Python一行流:像专家一样写代码
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

lambda函数

使用关键字lambda可以定义Python中的lambda函数。lambda函数是匿名函数,即没有在命名空间中定义,简单地说,它们就是没有名字的函数,用于单次使用。语法如下所示:

一个lambda函数可以有一个或多个参数,用逗号分隔。在冒号()后面定义返回值表达式,可以用到前面定义的参数,也可以不用。返回值表达式可以是任意的表达式,甚至是另一个函数。

lambda表达式在Python中扮演着重要角色,你会在实际的代码库中经常见到它们:比如用于使代码更短或更简洁,或者作为很多Python函数所需的参数传入(例如map()reduce())。考虑清单1-15中的如下所示的代码:

清单1-15:使用关键字lambda

首先,创建了一个lambda函数,它接受一个参数x,并返回表达式x+3的计算结果。创建的结果是一个函数对象,可以像其他函数对象一样被调用。基于其语义,你可以把它称为增量器函数。当调用这个增量器函数并传入3时(见清单1-15中的print语句里的(3)),得到的结果是整数6。本书大量使用了lambda函数,所以请确保你正确地理解了它们(这同时也是一个提升你对lambda函数直观理解的好机会)。