高阶函数笔记
-
匿名函数
-
匿名函数——没有函数名的函数
-
定义:函数名 = lambda 形参列表:返回值
相当于:def 函数名(形参列表):
return 返回值
或者
lambda 形参列表:返回值
注意:匿名函数本质还是函数,之前函数中除了定义函数的语法外的内容都适用于匿名函数
-
-
-
函数就是变量
- python中定义函数就是定义类型是function的变量,函数名就是变量名
- 普通变量能做的,函数都能做
- 实参高阶函数:如果一个函数的参数是函数,那么这个函数就是实参高阶函数
- 返回值高阶函数:如果一个函数的返回值是函数,那这个函数就是返回值高阶函数
-
实参高阶函数
- python中常用的实参高阶函数
- max、min
- max(序列, key=函数)——按照key对应的函数指定的规则来获取序列中元素的最大值
- 函数要求:
- 有且只有一个参数(这个参数指向的是序列中的元素)
- 有且只有一个返回值(比较大小的对象)
- sorted(小到大排序)
- sorted(序列, key = 函数)——按照可以对应的函数指定的规则来排序序列
- 函数要求:
- 有且只有一个参数(这个参数指向的是序列中的元素)
- 有且只有一个返回值
- map
- map(函数, 序列)——将序列中的元素,按照指定的规则转化成一个新的序列
- 函数要求:
- 函数有且只有一个参数(指向序列中的每个参数)
- 需要一个返回值(返回值就是新序列中的元素)
- 函数要求:
- map(函数, 序列1, 序列2, …) (当个数不匹配时,以少的为准)
- 函数要求:
- 后边有多少个序列,函数就有多少个参数(分别指向对应序列中的元素)
- 需要一个返回值(返回值就是新序列中的元素)
- 函数要求:
- map(函数, 序列)——将序列中的元素,按照指定的规则转化成一个新的序列
- reduce——将序列中所有元素按照指定的规则合并成一个数据
- reduce(函数, 序列, 初始值)——将序列中的元素按照指定的规则合并成一个数据
- 函数要求:
- 有且只有两个参数
- 第一个参数:第一次指向初始值,从第二次开始指向上一次的计算结果,
- 第二个参数:指向序列中的每个元素
- 描述合并规则
- 有且只有两个参数
- max、min
- python中常用的实参高阶函数