Python_lambda

  最近学习到python的lambda表达式也是匿名函数, lambda不需要使用def 语句这样标准的形式定义一个函数,并不需要花很多时间去额外定义一个不常用的函数.lambda的本省就是一个长度为一行表达式,而不是一个代码块,所以不能像函数那样进行近乎无线的扩充它的语法是:  定义的名字 = lambda 参数:函数体

例如下:

1 def sum(a,b):           #这是一个普通的两个变量相加的函数
2     return a+b          #返回值为a和b相加之和
3 print(sum(1,1))

上面是一个定义一个普通函数的例子,其调用的返回值是ab之和,如果我print(sum(1,1)),那么输出的结果就是2

我们将上面的函数转换为一个lambda表达式:

sum = lambda a,b:a+b    #参数和上面的函数一样传入ab两个变量,冒号后面则是返回值a+b
print(sum(1,1))

在我们转换完成之后,调用函数,传入的参数ab和之前一样都是1,下图是输出结果:

lambda输出的结果

如图所见,输出结果都是一样的:2,至此,我们可以明显的发现,在同样的一个简单的两个相加之和的函数中,我们额外去定义一个函数并且调用,会比我们使用lambda繁琐一些,但是lambda表达式不能换行,只能在一行把所有的内容定义完成,所以在某些时刻,lambda是一个比重新定义一个函数更好的选择!

posted @ 2019-03-10 00:29  BlackManZhang  阅读(155)  评论(0编辑  收藏  举报