Python装饰器的应用

    Python 中的装饰器是一种语法糖,可以在运行时,动态的给函数或类添加功能。装饰器本质上是一个函数,使用 @ + 函数名就是可实现绑定给函数的第二个功能 。它的作用就是在不修改被装饰对象源代码和调用方式的前提下为被装饰对象添加额外的功能。

    普通调用的写法,把 my_func 作为 calc() 的参数直接调用。

javascript 复制代码
def my_func():
    print('Hello World')

def calc(func):
    y = 3 + 5
    func()
    print(y)

calc(my_func)

    考虑到当要增加某些功能时,导致相关的调用都要修改,这时装饰器就起到作用了。

javascript 复制代码
def calc(func):
    def pack():
      y = 3 + 5
      func()
      print(y)
    return pack

@calc
def my_func():
    print('Hello World')

my_func()
相关推荐
布值倒区什么name2 分钟前
Pycharm2026找不到编译器 点击运行运行不了
开发语言·python·pycharm
Python私教5 分钟前
软件开发报价为什么能差 3 倍:需求范围、验收标准和变更成本怎么算
后端·python·架构
水獭比特8 分钟前
Pydantic AI 2.33.0 遇上 Anthropic SDK 1.0:别让 httpx2 在运行时才暴雷
人工智能·python
智购科技自动售货机工厂9 分钟前
2026自动售货机电机驱动芯片选型:从L298N到DRV8870的工程实践~YH
大数据·开发语言·数据库·人工智能·单片机·嵌入式硬件·scikit-learn
张哈大11 分钟前
完整版:对话 Agent 全链路架构详解:从 RAG 召回、Prompt 构建到 ReAct 交互落地指南
人工智能·python
2501_9159184116 分钟前
Rust 程序抓包解密,rustls 不认系统证书的几种办法
开发语言·后端·网络协议·ios·adb·https·rust
今天AI了吗22 分钟前
AI 数据安全治理框架:模型能力与数据权限的边界在哪里
java·linux·开发语言·人工智能·python·深度学习·机器学习
莫问ABC25 分钟前
Python 详解:从语法基础到进阶实战
开发语言·python·安全
05664631 分钟前
python高级——Python 类型提示与 Pydantic
网络·人工智能·windows·python·学习
牛艺翔37 分钟前
C++ 基础知识
开发语言·c++