一、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]
三、lambda和def的异同
1.lambda是一个用来编写小体量函数的方法;而def通常则是用来写一个功能较大的,代码量较多的函数。
2.lambda定义的函数称为匿名函数,是一个表达式,类似于def函数中的return语句,是可以放在代码中运行的表达式,可以一边定义一边使用;而def则是一个模块,不能单独放在代码中运行,必须先定义,再使用。
3.由lambda定义的函数可以不需要函数名,即匿名函数;而由def定义的函数而是需要一个函数名,没有函数名会报错。
4.二者都可以设置参数或者不设置参数,lambda不设置参数时,可以是这样:
四、lambda总结
对于匿名函数lambda来讲,这其实可以是一个非常方便的函数表达式(我们可以这样称呼它)。当我们需要做一些简单的重复操作时,我们可以使用lambda匿名函数来帮我们;当我们需要处理一些比较复杂的问题时,我们就需要使用def来定义函数来,且def定义的函数也更方便代码的复用。
今天就先讲到这里,如果有疑问,我们可以通过邮箱一起共同学习。
posted @ 2019-02-25 20:40 东京的樱花在巴黎飘下 阅读(...) 评论(...) 编辑 收藏