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()
相关推荐
欧叶冲冲冲10 分钟前
uv Python 环境管理笔记
笔记·python·uv
很楠爱上11 分钟前
从“AI 看合同”到可举证的合同决策链:CounterClause(对薄) 的架构设计与工程实践
人工智能·经验分享·python·学习·agent
这就是佬们吗12 分钟前
治幻觉,先治检索:RAG 系统防幻觉的完整工程指南
python·langchain·embedding
Java后端的Ai之路12 分钟前
02、Python普通工厂模式
开发语言·人工智能·python·设计模式·普通工厂模式
Dontla13 分钟前
VSCode Python扩展自动加载.env环境变量机制(Python插件)python.terminal.useEnvFile
ide·vscode·python
码云骑士23 分钟前
115-多模态大模型-GPT-4V-Gemini-Qwen-VL-能力全景
python
空堂与归28 分钟前
如何用Python实现深度学习?PyTorch框架核心与实践
pytorch·python·深度学习
韶博雅36 分钟前
开启补充日志
java·开发语言·sql
guwentian43 分钟前
从0到1手写 AI Agent Harness:为什么护城河不在模型,而在工程外壳
人工智能·python·安全·deepseek·harness
FYKJ_20101 小时前
django学习成绩预警系统10905
java·javascript·spring boot·python·spark·django·php