Python3——高阶函数

Posted 漫漫Python路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3——高阶函数相关的知识,希望对你有一定的参考价值。

引子:函数加括号代表调用该函数,而不加括号代表函数本身(函数名)

  例如:

#求绝对值内置函数abs
>>>abs(-10)     #调用函数
10           #返回调用结果

>>>abs     #函数本身
<built-in function abs>     #返回函数本身

高阶函数定义:

变量可以指向函数,函数的参数能接收变量,那么一个函数可以接收另一个函数作为参数,这种函数就叫做高阶函数

n = 1

def func1(x,y):
    return x+y

def func2(x):
    return x

f = func2   #变量指向函数本身,而不是调用函数

f(n)   #函数接收变量,此时f()就等同于func2()

f(func1(1,2))  #一个函数接收另一个函数作为参数

print(f(func1(1,2)))

#结果
3

#func2()就叫高阶函数 

函数名其实也是变量,如果给函数名赋值,那在后面就无法调用该函数,所以绝对不能这么干

>>> abs = 10
>>> abs(-10)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: int object is not callable

总结:

只需要满足以下任意一个条件,就是高阶函数:

1、一个函数接收另外一个或多个函数本身作为参数

2、函数return返回另一个函数本身

1 def f(x):
2      return abs,x   #返回abs函数名,就是返回abs函数本身
3 
4 #f()也是高阶函数

 

以上是关于Python3——高阶函数的主要内容,如果未能解决你的问题,请参考以下文章

Python3装饰器

python3--高阶函数

Python3——高阶函数

python3--高阶函数

Python高阶函数与函数装饰器-day4

Python3之高阶函数filter