python之lambda

lambda函数实际就是匿名函数,现在C++中也支持lambda表达式了,说白了就是一个小的lambda函数。
匿名函数主要是用在某个函数只是使用一下,而且比较轻小,每笔要显示定义时使用,一般用在把函数作为参数传递时非常方便。

python中支持lambda函数,但是一般只支持一行的lambda函数,因为python中希望lambda函数不要太大,太大的话对代码的可读性不是很友好。

举个栗子,使用filter的时候我们通常要写一个过滤函数f,比如f(x)当x>3的时候返回True,但是我们可以直接一lambda函数代替这个函数的定义,

list(filter(lambda x: x > 3, [1, 2, 3, 4, 5]))    #返回[4, 5]

所以lambda函数的一般格式就是lambda args: express,其中args为参数,以逗号隔开, express为简单的函数体。

lambda函数作为匿名函数,其本质也是函数,所以可以把其赋给一个变量,也可以作为参数,也可以作为函数返回值,然后调用

f = lambda x: x > 3
print(f(4))                  #True

python对lambda的支持相对比较简单,但是确实在很多时候很方便,所以要把握好使用的度,来平衡代码简洁与可读性。

本文遵从CC3.0协议转载请注明:转自凌风技术站

本文标题:python之lambda

本文链接地址:http://www.iaccepted.net/python/tutorial/40.html

相关文章



发表评论

电子邮件地址不会被公开。 必填项已用*标注