一、高阶函数
其表现形式有两种,一是以函数(可以一个或多个)做为参数传递,一是以函数做为返回值返回,如下图
2.匿名函数
用lambda表达式创建一些简单的函数,它执行完毕后会立刻销毁
语法:lambda 参数:表达式
如求两数的乘积
通常与filter配合使用,filter() 是一个高阶函数,需将函数作为参数来传递
如列表lst=[1,2,3,4,5,7,9,15,17,18],求列表的偶数
二、闭包
概念:将函数作为参数做返回值返回,称为高阶函数也称为闭包
好处:只有当前函数可访问变量,保护数据安全性
特点:
1.函数嵌套
2.内部函数必须要引用外部函数的变量
3.将内部函数作为返回值返回
三、装饰器
1.装饰器概念:在不修改原来函数的情况下来对函数进行扩展,类似如下图fn_main称之为装饰器
在开发中我们都是通过装饰器来扩展函数的功能
2.装饰器的使用
@函数名的方式来对其他的函数进行扩展
带参数使用装饰器的用法如下图