当前位置: 首页 > 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()
http://www.lryc.cn/news/357154.html

相关文章:

  • 【数据结构与算法 | 基础篇】力扣232, 225
  • 内网(极空间)搭建gitlab跳板机转发端口及域名配置
  • 如何知道自己电脑的 Shell类型是什么?
  • Axios的使用简单说明
  • 查找list集合中,持续时间>=ContinueTime的数据集合,保存在新的list中
  • nginx 反向代理配置详解
  • 微信小程序毕业设计-农场驿站平台系统项目开发实战(附源码+论文)
  • CAN总线应用协议CANopen
  • htop安装不了怎么解决
  • vue 笔记02
  • MySQL8.0免安装及phpmyadmin配置
  • 【目标解算】相机内外参数详细解读+坐标系转换
  • 【Unity】颜色混合计算
  • Vue源码解析
  • Linux---网络相关配置
  • MATLAB分类与判别模型算法:基于Fisher算法的分类程序【含Matlab源码 MX_002期】
  • 长文总结 | Python基础知识点,建议收藏
  • centos中使用Docker安装rabbitmq记录
  • STM32系列-STM32介绍
  • 网络原理 一
  • xcode配置快速打开终端命令行工具教程
  • AIGC降重:如何2分钟降低论文AI率和查重率?推荐使用SpeedAI科研小助手
  • Blazor入门-连接MySQL的简单例子:列出数据+简单查询
  • CEEMDAN +组合预测模型(CNN-Transfromer + XGBoost)
  • 箭头函数的意义和函数的二义性
  • 618必买的数码好物有哪些?盘点兼具设计与实用的数码好物分享
  • 【好书分享第十三期】AI数据处理实战108招:ChatGPT+Excel+VBA
  • 001 CentOS 7.9 安装及配置jdk-8u411-linux-x64.tar.gz
  • Revit二次开发-WPF ProgressBar 执行程序中显示进度条
  • React:构建Web应用的未来