一、函数篇
1、闭包必须使用嵌套函数,一看到闭包我首先想到的是 JavaScript 里面的回调函数。闭包这里看似仅仅返回 了一个嵌套函数,
但是需要注意的是,它其实连同嵌套函数的外部环境变量也一同保存返回回来了(例子 中的exponent 变量),
这个环境变量是在调用其外部函数时设定的,这样一来,对于一些参数性,不常 改变的设定变量,我们可以通过这个形式来设定,
这样返回的闭包函数仅需要关注那些核心输入变量,节 省了效率,这样做也大大减少了全局变量的使用,增加代码可读性的同时,
也会让代码变得更加的安全;
2、匿名函数
lambada args1,args2,...argsN : expression
eg: test = lambda x : x * 2 test(x) = 4
lambda 是一个表达式,不是一个语句(lambda可以用在一些常规函数def不能用的地方,比如,lambda可以用在列表内部,而常规函数却 )
[(lambda x: x*x)(x) for x in range(10)]
# 输出 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Python主要提供了这么几个函数:map()、filter()和reduce(),通常结合匿名函数lambda一起使用。
(1)、map,对列表中的每个元素乘以 2,那么用map就可以表示为下面这样:
l = [1, 2, 3, 4, 5]
new_list = map(lambda x: x * 2, l) # [2,4, 6, 8, 10]
(2)、。filter()函数 表示对iterable中的每个元素,都使用function判断,并返回True或者False,最后将返回True的元素组成一 个新的可遍历的集合。
l = [1, 2, 3, 4, 5] new_list = filter(lambda x: x % 2 == 0, l) # [2, 4]
(3)、reduce(function, iterable)函数,它通常用来对一个集合做一些累积操作。
l = [1, 2, 3, 4, 5] product = reduce(lambda x, y: x * y, l) # 1*2*3*4*5 = 120
二、python 函数 必须知道的知识点
最新推荐文章于 2020-06-07 15:07:17 发布