python学习笔记-tip25(高阶函数)

何为高阶函数

把函数作为参数传入,那么这样新构建出来的函数就成为「高阶函数」。

我们使用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)

我们来看一下打印结果


欧了,是不是完全可以这么搞呢!
那么,我们现在编写的函数,其实就是高阶函数了

编写高阶函数,就是让函数的参数能够接受别的函数

明白了吧~~

你可能感兴趣的:(python学习笔记-tip25(高阶函数))