跳至正文
View Categories

< 1 min read

主要内容 #

  • lambda:一个语法
  • lambda:三个特性
  • lambda:三个用法
  • 1. lambda:一个语法 #

    lambda是python中的关键字,其语法是唯一的,如下: lambda argument_list: expression 参数说明: argument_list:参数列表,结构与函数的参数列表是一样的,可以有必须参数,默认参数,可变参数,关键词参数 expression:关于参数的表达式,参数需在argument_list有定义,并且表达式只能是一行 综上所述: lambda argument_list:expression表示的就是一个函数,叫做lambda函数

    2. lambda:三个特性 #

    特性一: lambda是匿名函数:即没有函数名的函数 特性二: lambda函数有输入和输出:输入是传入到参数列表的值,输出是根据表达式计算得到的值 特性三: lambda函数一般功能简单:单行的expression决定了lambda函数不可能完成复杂逻辑。 由于其实现的功能简单,一目了然,甚至可以不用专门的名字来命名。 比如:
    lambda x,y: x*y            #函数输入是x和y,输出的是他们的积
    
    lambda :None              # 函数没有输入参数,输出的是None
    
    lambda *args:sum(args)    # 输入是可变参数,输出的是他们的和
    
    lambda **kwargs:1         # 输入是关键词参数,输出的是1

    3. lambda:三个用法 #

    lambda语法是固定的,本质上只有一种用法,就是定义lambda函数。 实际中,可以根据使用场景扩展,总结为以下4种用法: 用法一: 将lambda函数赋值给一个变量,通过这个变量间接调用该lambda函数
    add = lambda x,y:x+y     #这样变量add就是具有加法功能的函数
    print(add(1,2))
    用法二: 将lambda函数赋值给其他函数,从而将其他函数用lambda替换(慎用!
    def add(x, y):
         return x+y
    print(add(10,20))
    
    add = lambda x,y:None # 此时add已经没有加法的功能了
    print(add(10,20))
    用法三: 将lambda函数作为参数传递给其他函数(常见用法)
    dict_1 = {3:6, 1:10, 5:6, 2:9, 8:7, 4:6}
    
    # lambda函数是sorted函数的key参数
    data_1 = sorted(dict_1.items(), key=lambda x:x[0])
    print(data_1)

    4. 小结 #

  • lambda是python中的关键字,其语法是唯一的
  • lambda三个特性:没有函数名的函数;有输入和输出;功能简单
  • lambda三种用法: 将lambda函数赋值给一个变量; 将lambda函数赋值给其他函数; 将lambda函数作为参数传递给其他函数(常见用法)
  • OJ训练题 #

    1、美食烹饪大赛 – ★
    2、四位数的计算 – ★
    3、COUNT – ★★
    4、ISBN码 – ★★★
    5、绝对值排序 – ★★★★