高阶函数

一.高阶函数的说明

有两个条件:1.接受函数作为参数
2.将函数作为返回值
在这里插入图片描述
上面的箭头那里,是函数的引用,往回看
高阶函数的作用是:当我们使用一个函数作为参数时,实际上我们就是将指定的代码传递给目标函数

二. 匿名函数 lambda表达式

用来创建一些简单的函数,他是函数创建的另一种方式, 最大的好处是只调用一次
filter() 可以从序列中过滤出符合条件的元素, 保存到一个新的序列当中
参数: 1 , 函数 根据该函数来过滤序列(可迭代结构)
2, 需要过滤的序列(可迭代结构)
有返回值, 过滤后新的序列
语法: lambda 参数列表 : 返回值
过滤序列
在这里插入图片描述

也可以将匿名函数赋值给一个变量
匿名函数一般用来当做参数

在这里插入图片描述

排序 sort关键字 sorted()函数

在这里插入图片描述

key 关键字

在这里插入图片描述

三. 闭包

1… 通过闭包可以将不想让别人知道的变量放起来,不让别人访问
2. 将函数作为返回值返回,也是一个高阶函数

形成闭包的条件

1,函数嵌套
2.将内部函数作为返回值返回
3.内部函数必须使用到外部的变量
在这里插入图片描述

四. 装饰器的引入

我们可以通过修改函数中的代码来完成,但是会有一些问题

  1. 修改的函数很多
  2. 不方便后期的维护
  3. 会违反开闭原则(ocp),程序设计 要求对程序的扩展,但是要关闭对程序的修改

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五. 装饰器的使用

start_end(old) 类似于这种函数,其实就是一个装饰器
通过装饰器可以在不修改原函数的情况下对函数进行扩展
在开发中,都是通过装饰器来扩展函数的功能
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值