python深入之函数的高级用法

关于偏函数

  • 偏函数是在一个函数的参数很多的情况下,有一些参数在某些场景中是固定不变的,这时就可以写一个新的函数,来指定某个固定的值为不变的参数,从而可以简化写法。
  • 偏函数的写法:有一个函数func(a,b,c,d),其中d在某些场景中固定为2,则偏函数方式一,可以写一个func1(a,b,c,d=2),以后调用时只需写func1(a,b,c)即可;方式二,使用函数,import functools;func1 = functools.partial(func, d=2),调用时只需要使用func1(a,b,c)即可

关于高阶函数

  • 由于函数定义时。系统也会分配一块内存给它,而把唯一标识给函数名,所以,函数名和变量名是一样的本质,函数名也可以作为参数传递到函数体中,所以,当一个函数名作为另一个函数的参数传递到函数体中时,这个函数就是高阶函数
  • 排序函数sorted()就是高阶函数,其key参数接收的就是另一个函数,用来说明当数据传入时,按照哪一个关键字来进行排序,如传入的参数是字典

关于返回函数

  • 即一个函数的返回值是另一个函数,使用变量名接收后,传入参数即可使用

关于匿名函数

  • 匿名函数写法:lambda 参数1,参数2:表达式,匿名函数中的表达式只能写一个,所以只能用在简单的场景中,可以使用变量接收,即func = lambda x, y: x + y,调用时func(x, y)
  • 一个应用场景--sorted()函数中key参数的应用:sorted(a, key=lambda x: x["name"]),即不需要另外写一个函数,然后将返回值赋给参数key

关于闭包(重中之重)

  • 闭包的形式:
  1. 有函数嵌套;
  2. 内部函数要使用外部函数的变量(参数);
  3. 外部函数的返回值时内部函数(返回的只是函数,并不是将函数执行后的值,这是要重点注意的)
  • 闭包注意事项:
  1. 在内部函数中若想改变引用的外部函数中的变量,必须使用nonlocal 变量的形式,否则,算作时内部函数重新定义的变量;
  2. 注意闭包执行的顺序
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值