Python3匿名函数lambda介绍与使用示例

周末不加班
周末不加班
发布时间:2026-10-13| 5人浏览过
原创

本文详细解析Python3中lambda匿名函数的语法结构与核心特性。通过对比def定义函数,阐述lambda作为表达式的优势与限制。内容涵盖无参/有参、默认参数、直接传参及嵌套闭包用法,并展示结合三元表达式求极值、字典排序等实战场景,帮助开发者高效利用Lambda提升代码简洁性。

Python3 Lambda匿名函数概述

概述

匿名函数是指没有显式名称的函数。与使用def语句定义的常规函数不同,匿名函数在创建后直接返回函数对象本身,无需通过return语句显式返回值,其表达式的计算结果即为返回值。而在def定义的函数中,函数体执行后需赋值给一个变量名才能被调用。在Python中,使用关键字lambda来创建匿名函数,其标准语法格式如下:

lambda arg1,arg2,.....argn:expression

以下是关于lambda函数的几个关键特点:

  • lambda是一个表达式而非语句,这意味着它可以在任何允许使用表达式的上下文中出现,例如赋值、参数传递等场景。
  • lambda的主体部分也是一个表达式。与def定义的函数类似,lambda拥有函数主体,但受限于只能包含单个表达式,因此其功能实现受到较大限制,无法执行复杂的多行逻辑或包含赋值语句。

Lambda函数基础用法与特性

lambda使用

无参匿名函数


# 可以将lambda直接传递给一个变量,像调用一般函数一样使用
B = lambda :True
print(B())

# 等价于
def BF():
 return True
print(BF())

示例结果:

True True

有参匿名函数

支持多个参数

参数无默认值


two_sum = lambda x, y: x + y
# 等同于:
def two_sum(x, y): return x + y
print(two_sum(1,2))

示例结果:

3

参数带默认值


sum_with_100 = lambda x, y=100: x + y
# 等同于:
def sum_with_100(x, y=100): return x + y
print(sum_with_100(200))

示例结果:

300

从后面传参

在前面的示例中,我们将lambda匿名函数赋值给一个变量,然后像调用普通def定义的函数那样通过变量名传参。实际上,我们也可以在lambda表达式定义后直接传递参数,无需先赋值给变量。


two_sum = (lambda x, y: x + y)(3, 4)
print(two_sum)

示例结果:

7

嵌套使用

将lambda嵌套到普通函数中,使lambda函数本身作为return的返回值,从而构建简单的闭包结构。


def sum(x):
 return lambda y: x + y
sum_with_100 = sum(100)
result = sum_with_100(200)
print(result)

示例结果:

300

Lambda实战应用场景

一些使用实例

1. 结合三元表达式求两值中最小值


lower = lambda x,y: x if x<y else y
print(lower(7,100))

实例结果:

7

2. 对字典某一键值进行排序


d = [{"order":3},{"order":1},{"order":2}]
# 根据order键值排序
d.sort(key=lambda x:x['order']) 
print(d)

实例结果

[{'order': 1}, {'order': 2}, {'order': 3}]

总结

以上就是关于Python3匿名函数lambda的全部内容,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对本站的支持。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。