时间:2022-02-16 10:45:01 | 栏目:Python代码 | 点击:次
何为高阶函数,以实际代码为例子一步步深入概念。
以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()完全相同。
可以完全把函数名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)来调用函数了。
既然指向函数就可传入参数。
>>>print(abs(-10)) 10 >>>f=abs >>>def add(x,y,f): ... x=-5 ... y=6 ... return f(x)+f(y) ... 11
高阶函数就是可以接收到别的函数和其参数。