zoukankan      html  css  js  c++  java
  • 第九天——匿名函数(一)

    一. 匿名函数

    匿名函数,顾名思义就是没有名字的函数,那么什么函数没有名字呢?这个就是我们以后面试或者工作中经常用匿名函数 lambda,也叫一句话函数。

    现在有一个需求:你们写一个函数,此函数接收两个int参数,返回和值。

    def func(a,b):
        return a+b
    print(func(3,4))
    

    那么接下来我们用匿名函数完成上面的需求:

    func = lambda a,b: a+b
    print(func(3, 4))  # 7
    

    我们分析一下上面的代码:

    语法:

      函数名 = lambda 参数:返回值

    ​ 1)此函数不是没有名字,他是有名字的,他的名字就叫做lambda

    ​ 2)lambda 是定义匿名函数的关键字,相当于函数的def.

    ​ 3)lambda 后面直接加形参,形参加多少都可以,只要用逗号隔开就行。

    func = lambda a,b,*args,sex= 'alex',c,**kwargs: kwargs
    print(func(3, 4,c=666,name='alex'))  # {'name': 'alex'}
    # 所有类型的形参都可以加,但是一般使用匿名函数只是加位置参数,其他的用不到。
    

    ​ 4)返回值在冒号之后设置,返回值和正常的函数一样,可以是任意数据类型。(但是想要返回多个元素要以容器的形式返回)

    ​ 5)匿名函数不管多复杂.只能写一行.且逻辑结束后直接返回数据

    接下来做几个匿名函数的小题:

    写匿名函数:接收一个可切片的数据,返回索引为0与2的对应的元素(元组形式)。

    func = lambda x:(x[0],x[2])
    print(func('afafasd'))
    

    写匿名函数:接收两个int参数,将较大的数据返回。

    func = lambda x,y: x if x > y else y
    print(func(3,100))
    
    有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。 想到与得到中间还有两个字——做到。
  • 相关阅读:
    莎士比亚名言
    庄子名言
    Javascript: 通过图片url获取图片blob对象
    toast提示 封装
    maya模型导入UE4,如何做到等比导入
    GPU渲染和CPU渲染农场成本对比
    C4D渲线框
    C4D教程笔记——高科技线框3D模型全息投影 X-Wing Hologram Animation
    arnold和redshift渲染器
    使用Redshift渲染器,怎么选电脑配置!
  • 原文地址:https://www.cnblogs.com/huoxc/p/12845584.html
Copyright © 2011-2022 走看看