高阶函数:
变量可以指向函数
abs(-10):这是函数调用
abs这是函数本身,也是对象
>>>abs
f这是变量
f=abs函数本身可以赋值给变量
>>>f
f(-10)此时a具有abs函数的功能
结论:
(1)函数本身也可以赋值给变量,即:变量可以指向函数。
(2)凡是输出是尖括号的,则表示这是一个对象,都会在内存里面占用内存空间
函数名也是变量
注:由于abs函数实际上是定义在import builtins模块中的,所以要让修改abs变量的指向在其它模块也生效,要用import builtins; builtins.abs = 10。
传入函数
既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。(说白了就是一个函数有另一个函数作为参数)
把函数作为参数传入,这样的函数称为高阶函数,函数式编程就是指这种高度抽象的编程范式。