何为高阶函数,以实际代码为例子一步步深入概念。
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
高阶函数就是可以接收到别的函数和其参数。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!