Python高阶函数指什么?Python高阶函数有哪些

python高阶函数指的就是将函数作为参数,或者是返回值为函数对象的函数。那么高阶函数可以自己去定义,也可以去使用已经存在的高阶函数。下面就是会来详细介绍一下python高阶函数的定义方式,以及一些常用的高阶函数,想了解和学习的小伙伴就往下看看吧。

一、自定义

python高阶函数其一实现方法就是将一个函数作为参数,那么在调用这个函数时,就需要把函数对象作为参数放在括号之中。如果这两个函数都有参数存在,那么参数的类型以及数量需要是一致的,代码示例如下所示:

def fun(a):
  return a*a
def fun1(a,b,c):
  return a(b)+a(c)
print(fun1(fun(),1,5))
26

在上面的代码示例之中是将函数fun,作为另外一个函数fun1调用时的参数给传递了进去。那么在后面有分别传递了1和5两个数字进去,这样就是会先将函数fun1执行后得到它的返回值。用其返回值分别乘以b和c两个参数,再将得到的结果返回。

另外一种方式就是将函数作为返回值了,将函数作为返回值的话就是得在一个函数内再定义一个函数才可以,代码如下所示:

def fun(a):
  def fun2(b):
    return a*b
  return fun2()

二、内置高阶函数

python最常使用的内置高阶函数分别为map、filter、reduce这三个,并且这三个函数可以接收的参数都是函数对象以及可迭代对象两个。而map函数的作用就是将对象中所有元素取出来作为参数函数的参数执行,然后再返回成序列,代码如下:

array = [1,4,7]
a = map(lambda x:x+1,array)

filter函数的作用同样是把对象中元素取出来执行参数函数,不过它只会返回值为True的对象,示例如下:

array = [1,7]
a = filter(lambda x:x%2==0,array)

而reduce函数则是会将对象中前两个元素取出来执行参数函数,然后用二者返回的对象再加上一个取出来元素再次执行函数,示例如下:

from functools import reduce
array = [1,2,3,5]
result = reduce(lambda x,y:x+y,array)

以上就是关于“Python高阶函数指什么?Python高阶函数有哪些”的全部内容了,希望对你有所帮助。

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...