微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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高阶函数有哪些”的全部内容了,希望对你有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐