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()
相关推荐
TwoAnts&DingJoy9 分钟前
数据分析-泊松分布
python·机器学习·数据挖掘·数据分析·统计学·泊松分布
Lxinccode22 分钟前
python(48) : 命名截图[Windows工具(3)]
开发语言·python·截图·快速截图
骁的小小站24 分钟前
Learn C the Hardway学习笔记和拓展知识(一)
c语言·开发语言·c++·经验分享·笔记·学习·bash
花哥码天下1 小时前
Oracle下载JDK无需登录
java·开发语言
bestcxx1 小时前
0.2、AI Agent 开发中 ReAct 和 MAS 的概念
人工智能·python·dify·ai agent
早点.早点.1 小时前
QT登陆界面
开发语言·qt
楼田莉子1 小时前
C++学习:异常及其处理
开发语言·c++·学习·visual studio
fsnine1 小时前
Python Web框架对比与模型部署
开发语言·前端·python
海梨花1 小时前
【八股笔记】SSM
java·开发语言·笔记·后端·面试·框架
JAVA学习通2 小时前
OJ竞赛平台----C端题目列表
java·开发语言·jvm·vue.js·elasticsearch