问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是python中的高阶函数

发布网友 发布时间:2022-05-10 06:54

我来回答

2个回答

懂视网 时间:2022-05-10 11:15

本篇文章给大家分享的是实例详解python高级函数的使用,内容挺不错的,希望可以帮助到有需要的朋友。

函数参数问题

三种基本情况

  • fun(a,b)

  • fun(a,b) b是可迭代对象

  • fun(a,**b) b是带有检索式迭代对象,在函数体内部解析的时候相当字典

  • ls = [i for i in range(10)]
    #print(ls)
    def fun1(a,*b):
     for i in b:
     print(a,i)
    #fun1(1,*ls)
    
    def fun2(name,age,**kw):
     print("name:",name,"age:",age,"other:",kw)
    
    fun2('fanhaitao','26',参数= 'random')
    **kw参数把键值对转换成字典的形式

    匿名函数

    lambda

    1. 没有return返回值,返回值就是表达式的值

    2. 函数没有名字,不用担心名字冲突

    3. 匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,在利用变量来调用该函数

    fun3 = lambda x:x+1
    print(fun3(99))
    
    #100
    fun4 = lambda x,y :x*x + y*y
    print(fun4(3,4))
    #25

    装饰器@

    这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator)

    没有参数的装饰器

    #定义一个装饰器
    def log(func):
     def wrapper(*args,**kw):
     print('call %s()' % func.__name__)
     return func(*args,**kw)
     return wrapper
    @log
    def now():
     print('2018-3-29')
     
    now()

    装饰器内部逻辑关系(调用顺序):log() -> return wrapper() -> return func() -> now()

    含参数的装饰器

    #定义一个装饰器
    def log(text):
     def decorator(func):
     def wrapper(*args,**kw):
      print('%s %s():' % (text,func.__name__))
      return func(*args,**kw)
     return wrapper
     return decorator
    @log("可爱的参数")
    def now():
     print('2018-3-29')
    
    now()

    BiF内建函数

    zip:将两个迭代对象合成一个迭代对象

    注:多余的没有匹配到的变量会被舍弃

    a = [1,2,3]
    b = 'abcde'
    for i in zip(a,b):
     print(i)
    for i,j in zip(a,b):
     print("Index:",i,";Item:",j)

    enumerate:返回的是迭代对象,由位置+元素构成

    for i,j in enumerate('abcde'):
     print(i,j)

    filter:过滤函数

    两个参数,第一个是参数,第二个是可迭代对象,返回的值也是可迭代对象;参数中迭代对象在函数中是True是,值会保留,否者pass

    print(list(filter(lambda x:(x*x+x+2)%8 == 0,range(100))))

    map

    用法和filter类似,区别如下:

  • 参数里的函数对每个迭代对象操作

  • 返回被操作过的对象

  • print(list(map(lambda x:x**2,range(5))))

    reduce

  • 在functools库里

  • func接收2个参数,

  • reduce把结果继续和序列的下一个元素做累积计算

    from functools import reduce
    add = lambda x,y:x+y
    ls = [i for i in range(101)]
    print(reduce(add,ls))

    #5050

    相关推荐:

    热心网友 时间:2022-05-10 08:23

    划线部分是:把()中的dx/dy用前一行等式中的1/y'代替,再把dy换成1/dx乘以dx/dy分别写在了(1/y')的两边……
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 PEG指标的定义 如何计算peg值 什么牌子的女士包包比较好看,今年最流行的包包是哪个牌子? 不知道这个包包到底是什么牌子,找不到解释,求高手,标签上是DJLG标志 包包的Obar+LG是什么意思 路易传祺包包的LG是怎样的 渭南华星音响电子工程有限公司怎么样? 如何选择好看的电影? 张新成的新剧《光芒》搭档的女演员是谁? 哪部电影让您想起了大部分的高中时代? 电影致青春2刘亦菲的老家是个古镇,请问是哪个古镇 “神仙姐姐”刘亦菲花木兰海报曝光,这次能否成功转型? 哪一部青春电影,虽然套路满满却让你哭成狗? 我们拿什么去为青春买单呢? 电影致青春的英语名字是什么? 赵薇导演的电影《致我们终将逝去的青春》取得了多少票房? Apple Watch 怎么使用 Siri 新片《致青春》几号上映啊?还有里面的女主角是谁演的? 美女江疏影出演的青春电影《致青春》得什么时候上映啊? 求赵薇《致青春》 PEG指标的影响 什么牌子的洗衣机电机是铜包的 LG 有没有钱包功能? 梦见男孩被老头老太太杀了 梦见去世的婆婆变成厉鬼杀儿子? 昨晚梦见邻居的老太太跑来我家说他儿子把他三个孙子都杀了 梦到去世的奶奶想杀死我肚子里的孩子 梦到有个老太太说她杀了人,是凶是吉? 梦见一老太太想杀我们全家 做梦梦到鬼了一老太太和一个小女孩 怎样做一张图文并茂的海报? qq找回密码验证的人脸是谁的? 定期存款到期因为疫情没回,家人可以拿存折去查查是自动转存了还是活期可以吗? 在农业银行定期存款明天到期了,因疫情情况取不了,里面的利息能没吗 戴隐形眼镜午休半个小时可以吗 不可以戴隐形眼镜午睡? 法约尔提出的企业的6组基本活动和管理的5项职能是什么? 请问,信用评估和信用评级的区别 行业信用评价和企业信用评价的区别 求解释《AAA诚信企业》,《资信等级证》,《信用等级证》三个有什么区别?