Python 带有参数的装饰器实例代码详解


Posted in Python onDecember 06, 2018

demo.py(装饰器,带参数的装饰器):

def set_level(level_num):
  def set_func(func):
    def call_func(*args, **kwargs):
      if level_num == 1:
        print("----权限级别1,验证----")
      elif level_num == 2:
        print("----权限级别2,验证----")
      return func()
    return call_func
  return set_func
# 带有参数的装饰器装饰过程分为2步:
# 1. 调用set_level函数,把1当做实参
# 2. set_level返回一个装饰器的引用,即set_func
# 3. 用返回的set_func对test1函数进行装饰
 @set_level(1)
# 调用set_level方法(可以传参,不同的参数装饰不同的功能),用set_level方法的返回值当做装饰器进行装饰。
def test1():
  print("-----test1---")
  return "ok"
@set_level(2)
def test2():
  print("-----test2---")
  return "ok"
test1()
test2()

总结

以上所述是小编给大家介绍的Python 带有参数的装饰器实例代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
跟老齐学Python之有容乃大的list(1)
Sep 14 Python
Python中实现从目录中过滤出指定文件类型的文件
Feb 02 Python
Python的Flask框架中web表单的教程
Apr 20 Python
python爬虫之线程池和进程池功能与用法详解
Aug 02 Python
python运行时强制刷新缓冲区的方法
Jan 14 Python
python批量识别图片指定区域文字内容
Apr 30 Python
在python里面运用多继承方法详解
Jul 01 Python
python psutil监控进程实例
Dec 17 Python
Python enumerate内置库用法解析
Feb 24 Python
Windows 下python3.8环境安装教程图文详解
Mar 11 Python
python3实现语音转文字(语音识别)和文字转语音(语音合成)
Oct 14 Python
Python+Appium新手教程
Apr 17 Python
DES加密解密算法之python实现版(图文并茂)
Dec 06 #Python
python获取时间及时间格式转换问题实例代码详解
Dec 06 #Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
Dec 06 #Python
Python3非对称加密算法RSA实例详解
Dec 06 #Python
Python3对称加密算法AES、DES3实例详解
Dec 06 #Python
Python http接口自动化测试框架实现方法示例
Dec 06 #Python
python的常用模块之collections模块详解
Dec 06 #Python
You might like
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
php中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
PHP远程采集图片详细教程
2014/07/01 PHP
JavaScript 提升运行速度之循环篇 译文
2009/08/15 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
javascript类型转换使用方法
2014/02/08 Javascript
微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
2016/12/14 Javascript
微信小程序开发之从相册获取图片 使用相机拍照 本地图片上传
2017/04/18 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
基于ionic实现下拉刷新功能
2018/05/10 Javascript
了解JavaScript中的选择器
2019/05/24 Javascript
vue props对象validator自定义函数实例
2019/11/13 Javascript
微信小程序实现页面浮动导航
2020/01/08 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
Python中类型检查的详细介绍
2017/02/13 Python
Python装饰器用法实例总结
2018/02/07 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
python实现趣味图片字符化
2019/04/30 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
pandas数据分组groupby()和统计函数agg()的使用
2021/03/04 Python
css sprite简单实例
2016/05/23 HTML / CSS
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
俄罗斯奢侈品牌衣服、鞋子和配饰的在线商店:INTERMODA
2020/07/17 全球购物
计算s=f(f(-1.4))的值
2014/05/06 面试题
经济职业学院毕业生自荐书
2014/03/17 职场文书
关于青春的演讲稿800字
2014/08/22 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
2014年材料员工作总结
2014/11/19 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
2016国庆促销广告语
2016/01/28 职场文书
python开发实时可视化仪表盘的示例
2021/05/07 Python