二、python 函数 必须知道的知识点

一、函数篇
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值