当前位置: 首页 > news >正文

Python装饰器的应用

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



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



在这里插入图片描述



def my_func():print('Hello World')def calc(func):y = 3 + 5func()print(y)calc(my_func)


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



在这里插入图片描述



def calc(func):def pack():y = 3 + 5func()print(y)return pack@calc
def my_func():print('Hello World')my_func()

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 远程户外监控组网方案,工业4G路由器ZR2000
  • git上新down下来的项目,前端启动报错npm ERR! code 1 npm ERR! path E:\code\vuehr\node_modul
  • Flutter 中的 Offstage 小部件:全面指南
  • Nginx实现负载均衡与故障检查自动切换
  • 【前端三剑客之JS】详解JS
  • 【Unity AR开发插件】四、制作热更数据-AR图片识别场景
  • 第十二讲 字符串-转义字符-字符串拼接-字符串替换
  • maven部署到私服
  • UDP网络聊天室
  • rockeylinux 搭建k8s 1.28.10
  • 探索Python编程乐趣:制作气泡反弹小游戏
  • 将C++ cv:mat 通过JNI 转换为jbtyearray,传到android端
  • Java中深拷贝和浅拷贝详解学习
  • D2Admin:企业中后台产品前端集成方案的探索与实践
  • adb 启动app并查看启动时间
  • 「译」Node.js Streams 基础
  • Apache的基本使用
  • echarts的各种常用效果展示
  • ECS应用管理最佳实践
  • Elasticsearch 参考指南(升级前重新索引)
  • Git初体验
  • java8 Stream Pipelines 浅析
  • java取消线程实例
  • leetcode98. Validate Binary Search Tree
  • linux学习笔记
  • October CMS - 快速入门 9 Images And Galleries
  • Python爬虫--- 1.3 BS4库的解析器
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • vue自定义指令实现v-tap插件
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 什么是Javascript函数节流?
  • 想晋级高级工程师只知道表面是不够的!Git内部原理介绍
  • 学习HTTP相关知识笔记
  • 一个项目push到多个远程Git仓库
  • gunicorn工作原理
  • 阿里云API、SDK和CLI应用实践方案
  • 基于django的视频点播网站开发-step3-注册登录功能 ...
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • ‌JavaScript 数据类型转换
  • #define、const、typedef的差别
  • #HarmonyOS:基础语法
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (2024)docker-compose实战 (8)部署LAMP项目(最终版)
  • (5)STL算法之复制
  • (LeetCode C++)盛最多水的容器
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (三)mysql_MYSQL(三)
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .form文件_SSM框架文件上传篇
  • .gitignore文件---让git自动忽略指定文件