> 文档中心 > 【Python函数式编程④】——匿名函数 lambda

【Python函数式编程④】——匿名函数 lambda

匿名函数,顾名思义,没有名字的函数

我来看一下语法:

lambda [list]: 表达式

这里介绍一下参数

"""[list]:表示参数列表, 注意:参数与表达式之间需要冒号来区分 表达式 :表达式方法非常多,表达形式也非常多 返回值 :为表达式的结果value"""

例如,上方的代码这里

lambda x:x % n > 0

x 为需要传入的参数,而 x % n > 0 为表达式,之间需要用冒号进行引用,计算的表达式结果为返回值这里举例说明:如果设计一个求 2 个数之和的函数,使用普通函数的方式,定义如下:

def add(x, y):    return x + yprint(add(3, 4))

我们看到只有一行表达式,直接运算结果返回值,那这时我们如果使用匿名函数一行代码即可完成

add = lambda x, y: x + yprint(add)

这里我们将直接写出我们的结果,我们可以看到对于比较单行返回的函数,使用 lambda 表达式可以省去定义函数的过程,让代码更加简洁,针对不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高程序 执行的性能。而且还能配合其他的一些高阶函数配合使用

# -*- coding: utf-8 -*-# @author: Flyme awei # @Time  : 2022/7/1 17:03fun1 = lambda a, b: x + yx = int(input('x='))y = int(input('y='))print('x+y=', fun1(x, y))def add(a, b):    print('add=', a + b)add(x, y)fun = lambda a, b: a ** 2f = fun(2, 4)print(type(fun))print(f)