day32

@浙大疏锦行

函数专题2:装饰器

  1. 装饰器的思想

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

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

  1. 函数的装饰器写法

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

(1)定义装饰器:

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

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

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

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

(2)使用装饰器:

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

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

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

作业:

相关推荐
多米Domi0112 小时前
0x3f第十天复习(考研日2)(9.18-12.30,14.00-15.00)
python·算法·leetcode
山海青风2 小时前
藏文TTS介绍:4 神经网络 TTS 的随机性与自然度
人工智能·python·神经网络·音视频
曲幽2 小时前
FastAPI入门:从简介到实战,对比Flask帮你选对框架
python·flask·fastapi·web·route·uv·uvicorn·docs
万邦科技Lafite2 小时前
淘宝开放API批量上架商品操作指南(2025年最新版)
开发语言·数据库·python·开放api·电商开放平台·淘宝开放平台
wheelmouse77882 小时前
Java工程师Python实战教程:通过MCP服务器掌握Python核心语法
java·服务器·python
sg_knight2 小时前
Python 中的常用设计模式工具与库
开发语言·python·设计模式
晨非辰2 小时前
基于Win32 API控制台的贪吃蛇游戏:从设计到C语言实现详解
c语言·c++·人工智能·后端·python·深度学习·游戏
Serendipity_Carl2 小时前
京东手机销售数据分析: 从数据清洗到可视化仪表盘
python·数据分析·pandas·pyecharts
长安牧笛2 小时前
制作本地自驾游攻略生成工具,输入出发地,目的地,生成路线,景点,美食攻略,支持一键分享。
python