资讯专栏INFORMATION COLUMN

python高阶函数使用方法实例

89542767 / 394人阅读

  本文关键给大家介绍了python高阶函数使用方法实例详细说明,感兴趣的小伙伴可以参考借鉴一下,希望可以有一定的帮助,祝愿大家多多的发展,尽早涨薪


  一、高阶函数


  函数定义


  python中,函数名是自变量,下边这一method函数名当做自变量,偏向1个计算出来的函数公式!因而函数名本身就是偏向函数的自变量,故自变量可偏向函数公式;


  自变量可偏向函数公式,且函数的自变量可以接受自变量,那样任何一个函数公式可以接受1个函数作为参数,这类函数公式就叫做高阶函数


  函数名可以作为传参、也可以作为主要参数


  def method(a,b):
  return a+b
  a=method
  print(a(1,4))
  #输出;5


  (1)函数名作为参数


  def fun(a):
  return a*a
  def fun1(a,b,c):
  return a(b)+a(c)
  print(fun1(fun(),1,5))#fun()作为参数,传给fun1
  #输出:26


  (2)函数名作为返回值


  def fun(a):
  def fun2(b):
  return a*b
  return fun2()
  a=fun(1)
  print(a)#外部函数返回的是一个函数对象,也就是一个变量,然后作为函数对象传参,获得内部函数的返回值
  print(a(3))
  #输出:<function method.<locals>.method2 at 0x02B5E9C0>

  6


  二、常用的高阶函数


  map、filter、reduce


  先讲下匿名函数lambda,


  语法格式:lambda[形参1,形参2,...:表达式]


  表达式执行后,返回冒号后表达式;


  x=1


  lambda x:x+3


  (1)map(function,iterable)


  它第一个要传的元素是函数名或lambda匿名函数表达式,第二个要传的是可迭代对象;


  python 2.x返回列表,python 3.x返回迭代器


  array=[1,4,7]
  a=map(lambda x:x+1,array)
  print(a)
  print(list(a))
  输出:<map object at 0x02AB11B0>
  [2,5,8]


  map()函数的作用就是将可迭代对象里的每个元素进行函数操作,然后将元素操作后所组成的可迭代对象返回


  (2)filter(function,iterable)


  同样,它第一个要传的元素是函数名或lambda匿名函数表达式,第二个要传的是可迭代对象


  array=[1,4,7]
  a=filter(lambda x:x+1,array)
  print(a)
  print(list(a))
  输出:<filter object at 0x02AB11B0>
  [1,4,7]
  array=[1,4,7]
  a=filter(lambda x:x%2==0,array)
  print(a)
  print(list(a))
  输出:<filter object at 0x02AB11B0>
  [4]


  filter函数,就是将可迭代对象的元素带入函数,返回True的对象,一般用于筛选使用,省略for循环


  (3)reduce(function,iterable)


  它传的是2个元素,将前2个元素带入函数中,然后将返回值作为一个元素,与第三个元素进行运算,直到结束返回最后结果。


  reduce(function,iterable[,initializer]),从左到右对一个序列的项进行累计


  reduce()函数在python2中是内置函数,在python3中放到了functools模块下:


  from functools import reduce
  array=[1,2,3,4,5]
  result=reduce(lambda x,y:x+y,array)
  print(result)
  #结果:15
  1+2=3
  3+3=6
  6+4=10
  10+5=15


  综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129061.html

相关文章

  • 流畅的python读书笔记-第五章 一等函数

    摘要:可以通过定位参数和关键字参数传入的形参多数函数的参数属于此类。就像数据格式化一样数据带上标签自行创建函数它会自行创建函数。创建的函数会在对象上调用参数指定的方法自己创建函数冻结参数这个高阶函数用于部分应用一个函数。 高阶函数 接受函数为参数,或者把函数作为结果返回的函数是高阶函数 def reverse(word): return word[::-1] ...

    546669204 评论0 收藏0
  • Python一等函数简析

    摘要:本文重点了解函数在中是一等对象了解中的可调用对象掌握正确定义函数参数的方法了解和中支持函数式编程的方法。归约函数定义能够接受一个可迭代对象并返回单个结果的函数是归约函数。 导语:本文章记录了本人在学习Python基础之函数篇的重点知识及个人心得,打算入门Python的朋友们可以来一起学习并交流。 本文重点: 1、了解函数在Python中是一等对象;2、了解Python中的可调用对象;3...

    shusen 评论0 收藏0
  • Python一等函数简析

    摘要:本文重点了解函数在中是一等对象了解中的可调用对象掌握正确定义函数参数的方法了解和中支持函数式编程的方法。归约函数定义能够接受一个可迭代对象并返回单个结果的函数是归约函数。 本文章记录了本人在学习Python基础之函数篇的重点知识及个人心得,欢迎打算入门Python的朋友与我一起学习交流。。 本文重点: 1、了解函数在Python中是一等对象;2、了解Python中的可调用对象;3、掌握...

    邹立鹏 评论0 收藏0
  • Python学习之路24-一等函数

    摘要:函数内省的内容到此结束。函数式编程并不是一个函数式编程语言,但通过和等包的支持,也可以写出函数式风格的代码。 《流畅的Python》笔记。本篇主要讲述Python中函数的进阶内容。包括函数和对象的关系,函数内省,Python中的函数式编程。 1. 前言 本片首先介绍函数和对象的关系;随后介绍函数和可调用对象的关系,以及函数内省。函数内省这部分会涉及很多与IDE和框架相关的东西,如果平时...

    wind3110991 评论0 收藏0
  • 流畅的 Python - 4. 函数

    摘要:今天深入接触了中的函数,发现函数比我想象的要高深。介绍的几个高阶函数有内置的和函数,模块中的。可调用对象即能被调用运算符应用的对象,可使用内置的函数检测。函数的三个属性和放置了函数对象参数的一些信息。 今天深入接触了 Python 中的函数,发现函数比我想象的要高深。 Python 中万物皆对象,这一章就介绍了函数作为对象的一些属性。首先是测试所有对象共有的属性__doc__,可以看到...

    Salamander 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<