首页 > 软件开发 > PYTHON >

Python-如何实现Lambda表达

来源:互联网 2023-03-16 19:16:44 337

Lambda的写法和传递参数Nqb办公区 - 实用经验教程分享!

1.格式,和使用方法

  • 1

    Lambda表达式,用于创建匿名函数。Nqb办公区 - 实用经验教程分享!

    1)他产生一个函数对象。Nqb办公区 - 实用经验教程分享!

    2)格式:Lambda 参数列表 :表达式Nqb办公区 - 实用经验教程分享!

    类似于函数:Nqb办公区 - 实用经验教程分享!

    def lambda(参数列表):

    Nqb办公区 - 实用经验教程分享!

    return 表达式Nqb办公区 - 实用经验教程分享!

    例如:Nqb办公区 - 实用经验教程分享!

    def myX(x):

    Nqb办公区 - 实用经验教程分享!

    return x

    Nqb办公区 - 实用经验教程分享!

    Nqb办公区 - 实用经验教程分享!

    lambda x: xNqb办公区 - 实用经验教程分享!

    Python-如何实现Lambda表达Nqb办公区 - 实用经验教程分享!

  • 1相关内容未经授权抓取自百度经验
  • 2

    一个lambda表达式就是一个函数名:Nqb办公区 - 实用经验教程分享!

    一个函数名字,返回的是内存地址,加圆括号并放入参数才取到返回值。lambda表达式也需要同样的操作。Nqb办公区 - 实用经验教程分享!

    例如:Nqb办公区 - 实用经验教程分享!

    myA=lambda x: x

    Nqb办公区 - 实用经验教程分享!

    print(myA)Nqb办公区 - 实用经验教程分享!

    ===function lambda> at 0x0000027057FDC1E0>

    Nqb办公区 - 实用经验教程分享!

    print(myA(10))

    Nqb办公区 - 实用经验教程分享!

    ===10

    Nqb办公区 - 实用经验教程分享!

    Nqb办公区 - 实用经验教程分享!

    print((lambda y:y)(20))Nqb办公区 - 实用经验教程分享!

    ===20Nqb办公区 - 实用经验教程分享!

    14自学Python-自定义函数Nqb办公区 - 实用经验教程分享!

    Python-如何实现Lambda表达Nqb办公区 - 实用经验教程分享!

  • 2.lambda参数形式

  • 1

    lambda虽然与函数的写法不同,但传参形式一样:Nqb办公区 - 实用经验教程分享!

    无参数的情况:lambda:表达式Nqb办公区 - 实用经验教程分享!

    例如:Nqb办公区 - 实用经验教程分享!

    myFun=lambda : "我自横刀向天笑,去留肝胆两昆仑"

    Nqb办公区 - 实用经验教程分享!

    print(myFun())Nqb办公区 - 实用经验教程分享!

    Python-如何实现Lambda表达Nqb办公区 - 实用经验教程分享!

  • 2

    一个或多个位置参数:lambda 参数1,参数2... : 表达式Nqb办公区 - 实用经验教程分享!

    1)多个参数用逗号隔开。Nqb办公区 - 实用经验教程分享!

    2)传入实参的位置与形参对应,Nqb办公区 - 实用经验教程分享!

    例如:Nqb办公区 - 实用经验教程分享!

    #计算梯形面积:

    Nqb办公区 - 实用经验教程分享!

    s = lambda a, b, h: (a b) * h / 2

    Nqb办公区 - 实用经验教程分享!

    print('s =', s(1, 2, 3))

    Nqb办公区 - 实用经验教程分享!

    Nqb办公区 - 实用经验教程分享!

    #也可以f-string一行搞定:

    Nqb办公区 - 实用经验教程分享!

    print(f's = {(lambda a, b, h: (a b) * h / 2)(1, 2, 3):.2f}')Nqb办公区 - 实用经验教程分享!

    Python-如何实现Lambda表达Nqb办公区 - 实用经验教程分享!

  • 3

    默认参数的写法:lambda 参数1,default=None : 表达式Nqb办公区 - 实用经验教程分享!

    默认参数可以传实参,也可以不传。Nqb办公区 - 实用经验教程分享!

    例如:Nqb办公区 - 实用经验教程分享!

    addr=lambda name,default=".com" : name default

    Nqb办公区 - 实用经验教程分享!

    print(addr('baidu'))

    Nqb办公区 - 实用经验教程分享!

    print(addr('sino','.cn'))Nqb办公区 - 实用经验教程分享!

    Python-如何实现Lambda表达Nqb办公区 - 实用经验教程分享!

  • 4

    也可使用关键字参数:即在给出实参时可用键值对的形式,此时,可以不按位置传递实参。Nqb办公区 - 实用经验教程分享!

    例如:Nqb办公区 - 实用经验教程分享!

    addr=lambda name,age:(name,age)

    Nqb办公区 - 实用经验教程分享!

    print(addr(age=25,name='齐德隆'))Nqb办公区 - 实用经验教程分享!

    Python-如何实现Lambda表达Nqb办公区 - 实用经验教程分享!

  • 5

    不定长位置传参:lambda *args :表达式Nqb办公区 - 实用经验教程分享!

    所有传入的参数会被合并成元组被args接收。Nqb办公区 - 实用经验教程分享!

    例如:Nqb办公区 - 实用经验教程分享!

    #求平均值

    Nqb办公区 - 实用经验教程分享!

    avs=lambda *args:sum(args)/len(args)

    Nqb办公区 - 实用经验教程分享!

    print(avs(20,30,40,54))Nqb办公区 - 实用经验教程分享!

    ---36.0Nqb办公区 - 实用经验教程分享!

    Python-如何实现Lambda表达Nqb办公区 - 实用经验教程分享!

  • 6

    不定长关键字传参:lambda **kwargs : 表达式Nqb办公区 - 实用经验教程分享!

    将传入的关键字实参收集为字典。Nqb办公区 - 实用经验教程分享!

    例如:Nqb办公区 - 实用经验教程分享!

    d=lambda **kwargs:kwarg

    Nqb办公区 - 实用经验教程分享!

    print(d(a=34,b=45))

    Nqb办公区 - 实用经验教程分享!

    Nqb办公区 - 实用经验教程分享!

    ---{'a': 34, 'b': 45}Nqb办公区 - 实用经验教程分享!

    Python-如何实现Lambda表达Nqb办公区 - 实用经验教程分享!

  • 7

    lambda表达式的返回值,不像函数一样可以用return返回多个,lambda返回的是一个表达式,如需返回多个表达式可以组包成元组或列表返回。Nqb办公区 - 实用经验教程分享!

    例如:Nqb办公区 - 实用经验教程分享!

    dd=lambda a,b:(a*b,a b,a//b)

    Nqb办公区 - 实用经验教程分享!

    print(dd(10,3))Nqb办公区 - 实用经验教程分享!

    ---(30, 13, 3)Nqb办公区 - 实用经验教程分享!

    当然这样写视乎失去lambda简洁的意义。Nqb办公区 - 实用经验教程分享!

    Python-如何实现Lambda表达Nqb办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!Nqb办公区 - 实用经验教程分享!


    标签: python

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码