python-第七课-Lambda与装饰器
🎯 Lambda(匿名函数)
核心思想:一张”即时填写的说明书”
1 | # 格式:lambda 参数:表达式 |
使用示例
1 | 运行 |
📌 核心函数对比
表格
函数 作用 返回类型 记忆口诀
filter (函数,可迭代对象) 筛选符合条件的元素 迭代器 “挑出来”
map (函数,可迭代对象) 转换每个元素 迭代器 “改一遍”
lambda 参数:表达式 匿名小函数 函数对象 “临时工具”
⚠️ 注意:filter 和 map 返回的是迭代器,需要用 list () 转换才能打印
🎯 装饰器(Decorator)
核心思想:一个 “全自动秘书”,给函数加外挂
✅ 装饰器模板
1 | 运行 |
1 | 运行 |
📤 输出结果
plaintext
工作完成
函数 [work] 耗时:2.0012秒
🔗 @ 符号的真相
python
运行
@timer_decorator
def work():
…
等价于:
work = timer_decorator(work)
执行流程:
先完整定义 work 函数
立刻把 work 传给 timer_decorator
装饰器返回新函数 wrapper
用 wrapper 覆盖原来的 work
关键知识点
- @装饰器名 等价于 函数名 = 装饰器(函数名),Python 会自动帮你完成 “替换函数” 的操作
- *args, **kwargs 是万能参数接收器,能兼容任何有参 / 无参的函数
- 装饰器不会修改原函数的代码,只在外面包一层新功能,符合 “开闭原则”
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 河岳日星的博客!
评论
