Python Lambda

  • Python Lambda

    Lambda函数是一个小的匿名函数。Lambda函数可以接受任意数量的参数,但只能具有一个表达式。
    语法格式为:
    lambda arguments : expression
    
    一个lambda函数,它将作为参数传入的数字加10,并输出结果:
    x = lambda a : a + 10
    print(x(5))
    
    尝试一下
    Lambda函数可以接受任意数量的参数:
    一个lambda函数,它将参数a与参数b相乘并输出结果:
    x = lambda a, b : a * b
    print(x(5, 6))
    
    尝试一下
    一个lambda函数,对参数a,b和c求和并输出结果:
    x = lambda a, b, c : a + b + c
    print(x(5, 6, 2))
    
    尝试一下
  • 为什么要使用Lambda函数?

    将lambda用作另一个函数中的匿名函数时,可以更好地显示lambda的功能。假设您有一个接受一个参数的函数定义,该参数将与一个未知数相乘:
    def myfunc(n):
      return lambda a : a * n
    
    使用该函数定义可以使您传递的数字始终翻倍:
    def myfunc(n):
      return lambda a : a * n
    
    mydoubler = myfunc(2)
    
    print(mydoubler(11))
    
    尝试一下
    或者,使用相同的函数定义制作一个函数,该函数始终将发送的数字增加三倍:
    def myfunc(n):
      return lambda a : a * n
    
    mytripler = myfunc(3)
    
    print(mytripler(11))
    
    尝试一下
    或者,在同一程序中使用相同的函数定义来创建两个函数:
    def myfunc(n):
      return lambda a : a * n
    
    mydoubler = myfunc(2)
    mytripler = myfunc(3)
    
    print(mydoubler(11))
    print(mytripler(11))
    
    尝试一下