前言

在Python, 有两种函数:
1、普通函数def 定义
2、匿名函数lambda 声明

一、匿名函数

匿名函数是无需使用def定义的函数,只需使用关键字lambda进行声明,且只可使用一次,只有一个返回值

二、匿名函数格式

使用lambda表达式创建匿名函数,其语法格式如下:

res = lambda[arg1[,arg2,...,argn]]:expression

参数说明:
res:用于调用lambda表达式
[arg1[,arg2,…,argn]]:可选参数,用于指定要传递的参数列表,多个参数使用逗号“,”分隔
expression:必选参数,用于指定一个实现具体功能的表达式,如果有参数,那么在该表达式中将应用这些参数

注意:使用lambda表达式时,参数可以有多个,用逗号“,”分隔,但是表达式只能有一个,即只能返回一个值

三、匿名函数应用

1、匿名函数示例:

res = lambda x,y:x*y
print(res(5,7))

说明:
lambda x, y是匿名函数的声明部分,而 x * y则是匿名函数的实现部分

2、普通函数示例:

def caculate(x, y):
    return x * y
print(caculate(5,7))

四、匿名函数与普通函数

既然匿名函数那么简洁方便,那是不是匿名函数能直接代替普通函数呢?
答案是否定的,可以比较下他们之间的区别:
1、普通函数使用def声明函数,且需要定义函数名;匿名函数则无需定义函数名,使用lambda关键字即可
2、普通函数可以有多条语句;匿名函数只能有一个表达式
3、普通函数可以用于实现复杂的功能逻辑处理;而匿名函数一般用于实现一些简单的功能
4、函数被多次调用则使用普通函数;单次调用使用匿名函数

12-06 03:17