Python中的匿名函数lambda的用法

一、lambda函数的简介 

对lambda函数,它其实是一个类似于def的函数,只不过lambda是一个不需要定义函数名的匿名函数。当我们在有些时候,需要做一些简单的数学计算时,如果定义一个def函数显得过于繁琐,但是不定义一个类似“函数”的对象,又显得不太方便,所以这里lambda函数就派上用场了。首先我们先来看看lambda函数是如何使用的。

二、lambda函数的使用 

这里我们定义一个一元一次函数,y=2x+1,用Python来计算一串数字经过该函数之后的y值。我们就可以定义lambda函数。

$: qiu_y = lambda x:2*x + 1  #在命令行中定义一个匿名函数  即y=2x+1  如图中的In[1]

这个时候我们就已经定义好了一个匿名函数,这个匿名函数我们可以通过调用qiu_y这个变量名来进行调用,调用过程如下:

$: qiu_y(2) #这是计算当x=2时,y的值,也就是5  如图中的In[2]

我们还可以通过列表的方式来进行计算一串数字:

$: [qiu_y(i) for i in range(1,10)] #这时计算当x=从1到9时,对应y的值,返回一个列表格式的数据   如图中的In[3]

Python中的匿名函数lambda的用法

三、lambda和def的异同

1.lambda是一个用来编写小体量函数的方法;而def通常则是用来写一个功能较大的,代码量较多的函数。

2.lambda定义的函数称为匿名函数,是一个表达式,类似于def函数中的return语句,是可以放在代码中运行的表达式,可以一边定义一边使用;而def则是一个模块,不能单独放在代码中运行,必须先定义,再使用。

3.由lambda定义的函数可以不需要函数名,即匿名函数;而由def定义的函数而是需要一个函数名,没有函数名会报错。

4.二者都可以设置参数或者不设置参数,lambda不设置参数时,可以是这样:

Python中的匿名函数lambda的用法

 四、lambda总结

对于匿名函数lambda来讲,这其实可以是一个非常方便的函数表达式(我们可以这样称呼它)。当我们需要做一些简单的重复操作时,我们可以使用lambda匿名函数来帮我们;当我们需要处理一些比较复杂的问题时,我们就需要使用def来定义函数来,且def定义的函数也更方便代码的复用。

今天就先讲到这里,如果有疑问,我们可以通过邮箱一起共同学习。


上一篇:『Python基础-14』匿名函数 `lambda`


下一篇:Lambda 表达式-即匿名函数