当前位置:首页>python>匿名函数lambda的基础语法|Python自学成才(番外篇9)

匿名函数lambda的基础语法|Python自学成才(番外篇9)

  • 2026-10-11 06:49:14
匿名函数lambda的基础语法|Python自学成才(番外篇9)

Python自学成才(番外篇9)|匿名函数lambda的基础语法

在 Python 基础篇章里,我们提到过一种特殊的函数 —— lambda 函数,或说匿名函数。

Python学习笔记——从入门到报废(十四、函数更优雅(上))

它在一些特定场合扮演着重要作用,例如前一篇我们提到的 dict 按照 value 排序,sorted 函数就传入了一个 lambda 函数:

dict的嵌套与数据处理|Python自学成才(番外篇7)

那么,lambda 函数是什么,其特点是什么,本篇 Python 教程的番外篇,我们来详细讲讲!

What is lambda 函数?

lambda 函数又叫匿名函数,即没有名字的函数。

通常,使用 def 定义函数时,我们会有一个函数名、函数计算主体以及 return 语句:

def function_name(arg_1, arg_2):    compute something ...return result

其中,function_name 就是我们定义的函数的名字。

lambda 函数是一行代码的轻量级函数,它具备普通函数的所有要素,除了函数名。

lambda 函数的格式

lambda 函数的格式是这样的:

lambda args: expression

lambda 函数参数: 计算逻辑/返回结果

计算逻辑不能太复杂,通常只是中括号取值、简单运算等。

def 函数与 lambda 函数

def 函数
lambda 函数
函数名称
有,便于被反复调用
无,通常临时使用
代码结构
多行代码,依靠缩进确定代码段
简洁的单行代码
逻辑复杂度
可以使用 if、for 等复杂计算
只是简单运算
返回值
明确的return 语句
计算逻辑表达式的结果默认作为返回语句

lambda 的几种语法

既然 lambda 也是函数,那么其在定义时,也能支持普通 def 函数的定义方法。

无参数 lambda

不传入任何参数即可调用的函数,例如:

def say_something():return "Finally, we win!"

参照之前 lambda 函数的格式,只需把 args 去了即可:

func = lambda : "Finally, we win!"print(func())# Output: Finally, we win!

单参数 lambda

单参数比较好理解,就是仅有一个变量作为函数参数,例如:

def square(x):return x ** 2

改为 lambda 函数形式:

func = lambda x: x ** 2print(func(5))# Output: 25

多参数 lambda

lambda 函数可以接受多参数输入,参数间以 , 隔开,对于如下函数:

def triple_sum(x, y, z):return x + y + z

改为 lambda 函数形式为:

func = lambda x, y, z: x + y + zprint(func(2, 4, 7))# Output: 13

默认参数 lambda

在讲函数时,我们讲过函数能够设置参数的默认值,其规则参考文章:Python学习笔记——从入门到报废(十三、函数(下))

我们这里不去讲参数默认值的规则,只讲怎么改为 lambda 函数。

假设我们有计算圆形面积的函数,圆周率  默认值为 3.14:

def circle_area(r, pi=3.14):return pi * r ** 2

改为 lambda 形式参考前述内容即可:

func = lambda r, pi=3.14: pi * r ** 2print(func(2))# Output: 12.56

往期回顾:

Markdown的基本语法(二)

用OpenCV-contrib实现人脸识别 | Part.14

当你按下“删除键”时,文件真的删除了吗?

Markdown的基本语法(一)

Markdown简明教程之Markdown是干什么用的

最新文章

随机文章