15. 高阶函数Higher-order function

变量可以指向函数

函数本身也可以赋值给变量,即:变量可以指向函数

>>> f = abs
>>> f(-10)
10

说明变量f现在已经指向了abs函数本身。直接调用abs()函数和调用变量f()完全相同。

函数名也是变量

由于abs函数实际上是定义在import builtins模块中的,所以要让修改abs变量的指向在其它模块也生效,要用import builtins; builtins.abs = 10 #here take 10 as example.

传入函数

既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数

一个最简单的高阶函数:
def add(x, y, f): return f(x) + f(y)

你可能感兴趣的:(15. 高阶函数Higher-order function)