匿名函数:没有显示函数名的函数

匿名函数没有显示函数名的函数,在Python中通过 lambda 关键字定义(也叫" lambda 表达式"),用于实现简单的,一次性的功能

语法:

lambda参数列表:表达式 / 函数名 = lambda 形参:返回值

[参数列表:和普通函数的参数规则一致(必选,默认,可变参数均可);

表达式:函数的返回值(自动返回,无需写return)]

特点:

只能写一行代码,逻辑简单;

没有函数名,通常作为"临时函数"使用

基础示例

1.简单的匿名函数

2.带默认参数的匿名函数

3.作为参数传递(最常用场景)

匿名函数常作为 sort(),filter(),map()等函数的参数,简化代码

匿名函数 vs 普通函数

特性:匿名函数(lambda)

函数名:无(需赋值给变量使用)

代码行数:只能一行表达式

返回值:自动返回表达式结果

适用场景:简单逻辑,临时使用(如作为参数)

特性:普通函数(def)

函数名:有明确函数名

代码行数:可多行代码,逻辑复杂

返回值:需显式写 return

适用场景:复杂逻辑,需复用的功能

注意事项

1.逻辑不能过于复杂:

lambda只能写一行表达式,无法包含 if-elif-else(但可以用三元运算符 a if条件else b)

2.不要过度使用:

复杂逻辑用普通函数更易读

3.不能包含赋值语句:

lambda表达式中不能写x = 10这样的赋值操作

相关推荐
wbs_scy41 分钟前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录91743 分钟前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
贪玩的蛋挞1 小时前
C#与闭包
开发语言·c#
端庄的战斗机2 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
Full Stack Developme2 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
疋瓞4 小时前
python和C++对比(1)_数据类型和数据结构
数据结构·c++·python
C语言小火车4 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
北冥you鱼4 小时前
abigen 最佳实践:从入门到精通,高效生成 Go 语言合约绑定
开发语言·golang·区块链
ALex_zry5 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++
如此这般英俊5 小时前
手搓Claude Code-第六章 subagent
数据结构·人工智能·python·语言模型·自然语言处理