python中匿名函数lambda如何用

python中经常用到的一个函数:匿名函数lambda ,什么是匿名函数?匿名函数的意义是什么?匿名函数怎么样用?(疑问三连,what,why,how)

一,什么是匿名函数?

python中没有名字的函数,称为匿名函数。语法格式:lambda  x : x**2  既 lambda+形参:代码块

二,匿名函数的意义是什么?

一是它没有名字,所以不会引起命名冲突,二是它格式简单,代码块直接return返回值,比较灵活方便,而且因为没有名字,用完就丢弃了,不占内存。

三,匿名函数怎么用?

这个得举例子,借用一下廖雪峰老师得例子得瑟一下(雪峰老师,此处一鞠躬):

在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数:

>>> list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
[1, 4, 9, 16, 25, 36, 49, 64, 81]

通过对比可以看出,匿名函数lambda x: x * x实际上就是:

def f(x):
    return x * x

匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数:
>>> f = lambda x: x * x
>>> f
<function <lambda> at 0x101c6ef28>
>>> f(5)
25

同样,也可以把匿名函数作为返回值返回,比如:

def build(x, y):
    return lambda: x * x + y * y

匿名函数单独存在意义不大,通常是跟其他函数配合使用,用完就丢弃,比较方便,就像一次性餐具,用一次就扔了,但是方便呀!达拉达拉
(达拉达拉,点个赞再走呗........)
 
posted @ 2018-09-22 21:51  年轻人——001  阅读(200)  评论(1编辑  收藏  举报