目录
  • 1.变量可以指向函数
  • 2.函数名也可以是变量。
  • 3.传入函数
  • 总结

何为高阶函数,以实际代码为例子一步步深入概念。

1.变量可以指向函数

以abs()为例:

>>>abs(-10)
10

但是只写abs呢?

>>>abs
<built-in function abs>

abs(-10)是调用函数而abs是函数本身 。

把函数本身赋给变量呢?

>>>f=abs
>>>f
<built-in function abs>

结果显然易见变量可以指向函数。

也可调用如

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

说明f已经指向abs函数本身,f()与abs()完全相同。

2.函数名也可以是变量。

可以完全把函数名abs看成变量,它指向绝对值函数。

但要指向其他对象呢?

>>>abs=10
>>>abs(-10)
tranceback(most recent call last):
 file"<stdin>",line1,in <module>
typeerror:'int'object is not callable

此时abs为10,就无法通过abs(-10)来调用函数了。

3.传入函数

既然指向函数就可传入参数。

>>>print(abs(-10))
10
>>>f=abs
>>>def add(x,y,f):
...       x=-5
...       y=6
...       return f(x)+f(y)
...
 
11

 高阶函数就是可以接收到别的函数和其参数。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注www.887551.com的更多内容!