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()
相关推荐
天天进步201511 小时前
Python全栈项目--基于机器学习的异常检测系统
开发语言·python·机器学习
xxie12379419 小时前
return与print
开发语言·python
秋919 小时前
从 Python 后端工程师转型 AI Engineer(AI 工程化)的完整补课清单(2026实战版)
开发语言·人工智能·python
程序员二叉19 小时前
【Java】 异常高频面试题精讲 | 易错点+对比总结
java·开发语言·面试
慕木沐20 小时前
Google ADK Java 1.0版本 核心机制与实战 Demo
java·开发语言·python
Tbisnic20 小时前
AI大模型学习第十一天:技术选型、安全防护与金融实战
python·学习·ai·大模型·提示词工程
Roann_seo%20 小时前
C++文件操作完全指南:从文本读写到二进制文件处理
开发语言·c++
hboot20 小时前
AI工程师第一课 - Python
前端·后端·python
huangdong_21 小时前
淘宝商品SKU图自动分类技术深度解析:从DOM解析到智能归档
开发语言·javascript·ecmascript
阿正的梦工坊21 小时前
【Rust】12-借用检查器与非词法生命周期
开发语言·后端·rust