何为高阶函数
把函数作为参数传入,那么这样新构建出来的函数就成为「高阶函数」。
我们使用python中的内置的绝对值函数(abs)进行分析
abs函数正常使用方法
print(abs(-10))
输出结果
10
那么其实abs(-10)成为函数调用
而 abs呢?我们来测试一下
发现 abs其实就是函数本身
我们可以联想一下,变量可以指向地址,那么变量能够指向函数呢?
我们试一下,把abs函数指向 a
事实证明可以,如图所示
那么,a 和 abs 有什么区别呢?说实话,如果不是abs是python自己内置的函数名之外,还真没区别,也就是说其实 函数名 也是 变量
ok,现在我们来试一下吧abs当做参数传入函数
我们先定义一个函数
def fun(a,b,f):
print(f(a))
print(f(b))
本例子的意思是a,b还是普通的变量,而f我们会以abs函数传入
我们来使用一下
fun(-1,-2,abs)
我们来看一下打印结果
欧了,是不是完全可以这么搞呢!
那么,我们现在编写的函数,其实就是高阶函数了
编写高阶函数,就是让函数的参数能够接受别的函数
明白了吧~~