高阶函数 巩固

高阶函数

>>> abs(-10)      #  函数本身可以赋值给变量,即变量可以指向函数。
10
>>> abs
<built-in function abs>
>>> f = abs
>>> f
<built-in function abs>   # 函数赋值给变量,变量返回的值也是函数的地址,和直接返回函数一样。
>>> f = abs(-10)
>>> f 
10
>>> f = abs
>>> f(-10)
10 #如果一个变量指向函数,那么可以通过这个变量来直接调用函数。两种调用完全相同。

函数名就是一个指向函数的变量,上面的abs可以看成一个指向可计算绝对值函数的变量。

abs作为变量,可以赋值,赋值以后的abs不再指向求绝对值的函数,一般不这样做。

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

 

最简单的高阶函数,参数接收变量,然后可以直接通过实参传递函数名给该变量,直接调用变量。

编写高阶函数,就是让一个函数能够接收别的函数。

def func(x,y,f):
    return f(x) + f(y)
print(func(5,-6,abs))

 

 

posted @ 2018-03-14 15:12  Roc_Atlantis  阅读(91)  评论(0编辑  收藏  举报