day32

@浙大疏锦行

函数专题2:装饰器

  1. 装饰器的思想

不修改原函数代码、不改变原函数调用方式,给函数新增功能(如日志、统计、校验等),实现代码复用最大化。

装饰器是 "函数的函数"------ 接收原函数为参数,返回 "增强版" 新函数,间接扩展原函数功能。

  1. 函数的装饰器写法

基础写法为 "嵌套函数 + 返回函数",分为 "定义装饰器" 和 "使用装饰器" 两步:

(1)定义装饰器:

定义装饰器函数,接收原函数作为参数。

在装饰器函数内部定义一个 "内部函数",用于封装 "新增功能 + 原函数调用"。

内部函数通过*args, **kwargs接收任意参数,保证适配原函数的所有传参方式。

装饰器函数最终返回内部函数,替代原函数。

(2)使用装饰器:

通过@装饰器函数名的语法糖,直接将装饰器作用于目标函数(等价于 "原函数 = 装饰器函数名 (原函数)")。

  1. 注意内部函数的返回值

在内部函数中,先调用原函数并保存其返回值,最后将该返回值作为内部函数的返回值。

作业:

相关推荐
rgeshfgreh8 分钟前
Python连接KingbaseES数据库全指南
开发语言·数据库·python
万行10 分钟前
机器人系统ros2&期末速通2
前端·人工智能·python·算法·机器学习
weixin_4624462310 分钟前
Python + FFmpeg 批量提取视频音频(支持 Windows / macOS / Linux)
python·ffmpeg·音视频
海棠AI实验室12 分钟前
第九章:函数接口设计:输入 / 输出 / 边界条件
python·接口设计
万行12 分钟前
机器人系统ros2&期末速通&1
人工智能·python·机器学习·机器人
轻竹办公PPT13 分钟前
AI 生成 2026 年工作计划 PPT,逻辑清晰度对比测试
人工智能·python·powerpoint
Direction_Wind18 分钟前
抖音视频下载,直播间监控,直播间发言采集,最新加密算法
python·node.js
旦莫25 分钟前
使用OCR加持的APP自动化测试
python·测试开发·自动化·ocr·pytest·ai测试
天若有情67327 分钟前
用 Python 爬取电商商品数据:从入门到反爬破解
开发语言·python
七夜zippoe29 分钟前
RabbitMQ与Celery深度集成:构建高性能Python异步任务系统
分布式·python·rabbitmq·celery·amqp