**高阶函数(Higher-order function)** 什么是高阶函数? 变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。 **高阶函数探讨** 我们先定义一个 add 的普通函数 ``` >>> def add(x,y):return x+y ... ``` 那现在 add 这个变量是什么呢? ~~~ >>> add <function add at 0x7f49573b2620> ~~~ 可以看出,变量 add 已经指向 add 函数的内存地址,即:变量可以指向函数。 调用函数一般我们理解为调用函数名,其实也可以理解为是在调用函数名这个变量。 ~~~ >>> add(1,2) 3 ~~~ **将函数作为参数传递** 我们对定义的 add 函数稍加改造,使其称为高阶函数 ~~~ >>> def add(x,y,f):return f(x)+f(y) ... ~~~ 开始调用 ~~~ >>> add(-1,-2,abs) 3 ~~~ 调用 add 函数,我们分别传入 -1,-2,以及 Python 自带的 abs 求绝对值的函数,其实相当于计算 ~~~ abs(-1) + abs(-2) ~~~ 所以最终结果是 3 。 总结:高阶函数就是函数的参数能够接收别的函数。