持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第28天,点击查看活动详情
导语
本文记录了Python中的lambda函数的一些学习笔记。
简介
Python提供了对于定义一个简单的函数的简洁方法。即Lambda函数,也叫lambda 表达式,又称匿名函数,常用来表示内部仅包含 1 行表达式的函数。
格式
lambda 函数的使用使用格式如下:
name = lambda [list] : 表达式
这里需要注意的点有以下几个地方:
- 在定义 lambda 表达式时必须使用
lambda这个关键字; - 这里的[list] 是一个可选参数,等同于定义函数是指定的参数列表;
- value 为该表达式的名称。
该语法格式转等同于如下只有一行的普通函数的形式:
def name(list):
return 表达式
显然,使用普通方法定义此函数时,需要写def,return以及缩进等函数规范,实际的函数体则只有一行代码,属于“过度包装”,而使用 lambda 表达式仅需 1 行,大大简化了简单函数的定义。
举例
这里为大家举一个求两个数乘积的简单函数示例,如果使用普通函数的方式,定义如下:
def multiply(x, y):
return x+ y
print(multiply(3,4))
程序执行结果为:
12
在上面程序中,multiply() 函数内部仅有 1 行表达式,因此该函数可以直接用 lambda 表达式表示来简化:
multiply = lambda x,y:x*y
print(multiply(3,4))
程序输出结果为:
12
总结
本文简要记录了Python中匿名函数,也即lambda函数的简单使用方法。我们可以这样理解 lambda 匿名函数,他实际上就是对简单函数(这里即只有单行表达式函数)的简写版本。相比普通的函数定义,lamba 表达式具有以下 2 个优势:
- lambda只是一个表达式,函数体比def简单很多,可以大大简化简单函数书写。
- 对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,能够大幅度提高程序执行的性能。