Python系列-Lambda匿名函数
Lambda匿名函数是Python中一种无需显式命名、仅能包含单个表达式的轻量级函数,主要用于简化简单逻辑的临时使用场景,尤其适合作为高阶函数(如map、filter、sorted)的参数传递。
一、基础语法
1、语法结构

示例:
无参数:lambda: "Hello" → 直接返回固定值。
单参数:lambda x: x ** 2 → 计算平方。
多参数:lambda a, b: a * b → 计算乘积。
2、与普通函数的关键区别
匿名性:无函数名,通常直接作为参数传递或临时使用,不可被多次复用;
表达式限制:仅支持单行表达式,无法包含多行逻辑、条件分支块(if/else语句)、循环或异常 处理;
隐式返回:无需return关键字,表达式结果自动返回。
二、典型应用场景
1. 与高阶函数配合使用
Lambda最常用作map、filter、sorted等函数的参数,实现数据的快速转换或筛选:
map批量映射:
list(map(lambda x: x.upper(), ["a", "b"])) → ["A", "B"]。
filter条件过滤:num 是一个列表
list(filter(lambda x: x % 2 == 0, num)) ))
sorted自定义排序:
sorted([{"age": 20}, {"age": 18}], key=lambda x: x["age"]) → 按age升序排列。
2.简单回调逻辑
GUI编程或事件处理中,Lambda可快速定义临时回调:
button = tk.Button(root, text="Click", command=lambda: print("Clicked!"))
避免为简单操作单独定义函数。
3.闭包与函数工厂
Lambda可捕获外部作用域的变量,用于创建参数预设的函数:
def multiplier(n):
return lambda x: x * n
double = multiplier(2)
double(5) # 返回10 (闭包捕获了 n=2)
更多推荐

所有评论(0)