当前位置: 首页 > news >正文

# 11|装饰器、闭包与 lambda 表达式

很多人在学 Python 的过程中,一看到“装饰器”这三个字就开始紧张。

因为它看起来像这样:

@xxxdeffunc():...

表面上好像很酷,实际上第一次看到的人往往会问:

  • 这个@到底是什么?
  • 为什么函数上面还能写东西?
  • 闭包和装饰器是什么关系?
  • lambda又是拿来干嘛的?

这篇文章就专门把这三个容易混在一起的概念讲清楚:

  • lambda表达式
  • 闭包
  • 装饰器

它们并不是三个完全孤立的知识点,而是一条逐渐递进的学习链路。


一、先从最轻的开始:lambda

lambda是一种创建匿名函数的写法。

最常见的普通函数写法:

defadd(x,y):returnx+y

lambda可以写成:

add=lambdax,y:x+yprint(add(2,3))

输出:

5

你可以把它理解成:

用一行代码定义一个很简单的小函数。


二、lambda适合什么场景

lambda并不是为了替代所有函数。

它更适合:

  • 函数逻辑很简单
  • 只会临时使用一次
  • 作为参数传给别的函数

例如排序:

students=[{"name":"小林","score":88},{"name":"小王","score":95},{"name":"小张","score":76}]students.sort(key=lambdaitem:item["score"],reverse=True)print(students)

这里的lambda item: item["score"]表示:

“每个元素按照它的score值参与排序”。

如果不用lambda,你还得额外写一个函数,反而更啰嗦。


三、什么时候不推荐用lambda

如果逻辑已经稍微复杂一点,就不要硬塞进lambda

例如下面这种不推荐:

func=lambdax:x*2ifx>10elsex+3ifx>5elsex-1

虽然能写,但可读性很差。

更好的方式是正常定义函数:

defhandle_num
http://www.jsqmd.com/news/741175/

相关文章:

  • 基于MCP协议构建智能购物代理:连接AI与电商平台的实战指南
  • 2026届最火的降AI率网站推荐榜单
  • Kubeflow Trainer:Kubernetes原生分布式AI训练平台实战指南
  • 环境配置与基础教程:涨点从数据源头开始:Albumentations 进阶数据增强管线配置(MixUp、Mosaic、Copy-Paste)
  • 如何轻松下载B站无水印视频?5分钟掌握BiliDownload完整教程
  • 别再只看FLOPs了!ShuffleNetV2作者亲授的4条高效CNN设计实战守则
  • 环境配置与基础教程:告别炼丹玄学:集成 Ray Tune 实现 YOLOv11 超参数自动化搜索与贝叶斯优化
  • LLM个性化评估技术:方法与实战解析
  • ChineseSubFinder终极指南:5分钟搭建你的自动化中文字幕系统
  • MA-EgoQA:多智能体第一视角视频问答基准解析
  • 跨视角物体对应学习:循环一致掩码预测框架解析
  • 国家自然科学基金申请书的LaTeX终极排版方案:5分钟搞定专业格式
  • WinClaw安全实战 17|WinClaw技能发布实战:从本地开发到ClawHub全球分发(含三种发布方式+完整案例)
  • 【Backend Flow工程实践 16】从 Scan Chain 到 Placement:测试结构为什么会影响后端布局?
  • 终极指南:三步让老旧Mac焕发新生,突破系统限制免费升级最新macOS
  • AI智能体容器化部署:基于Docker与Docker Compose的标准化工作空间实践
  • Navicat密码解密终极指南:3分钟快速找回丢失的数据库连接密码
  • 洞察产业格局,决胜品牌出海:2026年4月新发布亚马逊SPN超级工厂服务商深度选型指南 - 2026年企业推荐榜
  • 2026年现阶段,为何“河南瓦轴”成为华中轴承采购的优选伙伴? - 2026年企业推荐榜
  • 洞察2026年至今石家庄财务行业趋势:如何选择可靠的服务伙伴? - 2026年企业推荐榜
  • 2026年4月四川LED显示屏定制指南:如何精准选择可靠服务商 - 2026年企业推荐榜
  • 仓储库存为什么不能只用一个 stock 字段?一次讲清可用库存、锁定库存、在途库存与账本设计
  • 商业模式:从本质到落地的极简框架 - 智慧园区
  • NVIDIA Omniverse Kit 106:云端OpenUSD应用开发指南
  • 【电子通用硬件】MOS管振铃现象 什么是振铃?
  • 倍福TwinCAT 3 运动控制从入门到精通 | 03:硬件配置下篇——NC轴在线调试、参数标定与第三方伺服适配全流程详解
  • AI 协作工程化:用 perfect-cursor 打造高质量代码生成工作流
  • 2026年出国务工机构怎么选:劳务输出公司出国务工、正规出国务工劳务公司、正规出国务工机构、出国务工公司派遣、出国务工正规劳务公司选择指南 - 优质品牌商家
  • 我用 3 个周末把 内容团队替换成多 Agent 系统
  • 2026年近期,如何甄别并联系信誉卓越的智能水电气集中供料系统厂商? - 2026年企业推荐榜