何为高阶函数,以实际代码为例子一步步深入概念。
1.变量可以指向函数
以abs()为例:
1
2
|
>>> abs ( - 10 ) 10 |
但是只写abs呢?
1
2
|
>>> abs <built - in function abs > |
abs(-10)是调用函数而abs是函数本身 。
把函数本身赋给变量呢?
1
2
3
|
>>>f = abs >>>f <built - in function abs > |
结果显然易见变量可以指向函数。
也可调用如:
1
2
3
|
>>>f = abs >>>f( - 10 ) 10 |
说明f已经指向abs函数本身,f()与abs()完全相同。
2.函数名也可以是变量。
可以完全把函数名abs看成变量,它指向绝对值函数。
但要指向其他对象呢?
1
2
3
4
5
|
>>> 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.传入函数
既然指向函数就可传入参数。
1
2
3
4
5
6
7
8
9
10
|
>>> print ( abs ( - 10 )) 10 >>>f = abs >>> def add(x,y,f): ... x = - 5 ... y = 6 ... return f(x) + f(y) ... 11 |
高阶函数就是可以接收到别的函数和其参数。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!
原文链接:https://blog.csdn.net/m0_62064241/article/details/121590429