Python 基础视频课 - 6. 函数下:高阶函数
这是 Python 基础课的第六节 - 函数下:高阶函数。该系列包含 11 节,目录如下:
函数下:高阶函数
类和对象:封装-继承-多态-组合
字符串专场:格式化和正则化
解析表达式:简约也简单
生成器和迭代器:简约不简单
装饰器:高端不简单
上贴介绍的普通函数和匿名函数都属于低阶函数,即输入和输出都不是函数,而在 Python 里函数是「一等公民」,我们可以
把函数赋值给变量 (assign function to variable)
把函数储存到容器 (store functions in container)
把函数传递给函数 (pass function to function)
在函数里返回函数 (return function in function)
如下图所示:
高阶函数在函数化编程 (functional programming) 很常见,主要有两种形式:
函数作为返回
函数作为参数
第一种形式的典型是闭包 (closure),其特点为
通常是嵌套函数 (nested function) 的结构。
该结构由外函数 (outer function) 嵌套内函数 (inner function)。
内函数必须引用非本地 (non-local) 变量。
外函数必须返回内函数。
第二种形式的典型例子由映射函数 (map)、筛选函数 (filter)、累计函数 (reduce) 和偏函数 (partial)。
此外还有种特殊的函数范式,叫做柯里化 (currying),它可以把“接受单个参数的函数”转换成“接受多个参数的函数”。
付费用户(付 1 赠 1)可以获得:
观看课程视频 (50 分钟)
PDF 课件
Python 代码 (Jupyter Notebook)
PDF 课件