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

Python之装饰器三 踩坑(带参数,不带参数,两者都带参数)

文章目录

  • 前言
  • 一、装饰器不带参数(但是装修器内部的函数又需要参数)
  • 二、装饰器带参数(但是被装饰的函数不带参数)
  • 三、装饰器带参数(并且被装饰的函数也带参数)
  • 总结


前言

Python装饰器里面遇到的踩坑点,以及自己的理解。


一、装饰器不带参数(但是装修器内部的函数又需要参数)

现在遇见一种情况,装饰器不带参数,但是装饰器内部又需要带参数,那么这种情况怎么办呢?

看下面例子:

猜想1:

在装饰器直接加参数

当然这种方式是不行的。看例子:

报错的的含义,直接在百度一搜就有解释。也就是说,这里要传入的参数是一个函数,但是你传了一个整数。

我们可以从截图里面看到 fun1(fun),这个地方看到,传入的参数是一个函数。

猜想2:

那么从猜想一看到,总的要有个地方传这个num吧,不然就会报错。既然在装饰器的后面不能加括号传参,那么我们只有在被装饰的函数想办法,在被装饰的函数调用的时候,传参。

按理说,一个函数平白无故的传参,会报错,但是在这里为什么没有报错呢?

我自己当时也没有想通,但是后面我慢慢发现的原因:

猜想的原因一:

平时一个正常的函数,莫名其妙的传参会报错

http://www.dtcms.com/a/30708.html

相关文章:

  • SpringBoot线程池的使用
  • QML 实现一个动态的启动界面
  • Apipost和Apifox如何选型(1):WebSocket调试
  • 【Elasticsearch】多索引(数据流)搜索
  • conda 配置源
  • CSDN违禁词与规避(CSDN社区专属)
  • 零基础学QT、C++(四)QT程序打包
  • 利用Linux技能处理访问升级
  • UE_C++ —— Container TSet
  • AIGC视频扩散模型新星:SVD——稳定扩散的Video模型
  • 服务保护和分布式事务
  • buu-get_started_3dsctf_2016-好久不见39
  • WordPress自定义排序插件:Simple Custom Post Order完全指南(SEO优化版)
  • 探讨一下游戏的重要性
  • netcore libreoffice
  • Windows - 通过ssh打开带有图形界面的程序 - 一种通过计划任务的曲折实现方式
  • 2024年数字政府服务能力优秀创新案例汇编(附下载)
  • 【QT中的一些高级数据结构,持续更新中...】
  • 高精度算法解析与实现(c++)
  • QT实战-基于QWidget实现的异形tip窗口
  • Python爬虫实战:获取12306特定日期、城市车票信息,并做数据分析以供出行参考
  • AcWing走迷宫-最短路问题-BFS求解
  • 小型字符级语言模型的改进方向和策略
  • 面阵工业相机提高餐饮业生产效率
  • TDengine 产品组件: 客户端 taosc
  • 【rt-thread】rt-thread 控制 led 的两种方式
  • DeepSeek掘金——调用DeepSeek API接口 实现智能数据挖掘与分析
  • wordpress adrotate插件 文件上传漏洞
  • 汽车自动驾驶辅助L2++是什么?
  • ARM Linux平台下 OpenCV Camera 实验