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连接mysql数据库示例(做增删改操作)
Dec 31 Python
python中闭包Closure函数作为返回值的方法示例
Dec 17 Python
pandas DataFrame实现几列数据合并成为新的一列方法
Jun 08 Python
Python+OpenCV目标跟踪实现基本的运动检测
Jul 10 Python
django 发送邮件和缓存的实现代码
Jul 18 Python
对python中xlsx,csv以及json文件的相互转化方法详解
Dec 25 Python
python的pytest框架之命令行参数详解(下)
Jun 27 Python
python并发编程 Process对象的其他属性方法join方法详解
Aug 20 Python
在Python中预先初始化列表内容和长度的实现
Nov 28 Python
PyTorch中permute的用法详解
Dec 30 Python
pytorch实现MNIST手写体识别
Feb 14 Python
Python如何截图保存的三种方法(小结)
Sep 01 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
PHP全概率运算函数(优化版) Webgame开发必备
2011/07/04 PHP
提高php运行速度的一些小技巧分享
2012/07/03 PHP
php使用pdo连接并查询sql数据库的方法
2014/12/24 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
详谈PHP面向对象中常用的关键字和魔术方法
2017/02/04 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
js子页面获取父页面数据示例
2014/05/15 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
简介JavaScript中的unshift()方法的使用
2015/06/09 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
JS打印组合功能
2016/08/04 Javascript
javascript 玩转Date对象(实例讲解)
2017/07/11 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
vue项目中v-model父子组件通信的实现详解
2017/12/10 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
[04:44]显微镜下的DOTA2第二期——你所没有注意到的细节
2014/06/20 DOTA
在Python中使用HTML模版的教程
2015/04/29 Python
python实现从ftp服务器下载文件的方法
2015/04/30 Python
详解Golang 与python中的字符串反转
2017/07/21 Python
python 重定向获取真实url的方法
2018/05/11 Python
pygame实现简易飞机大战
2018/09/11 Python
Python中GIL的使用详解
2018/10/03 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
2020/09/20 Python
python 爬虫网页登陆的简单实现
2020/11/30 Python
描述RIP和OSPF区别以及特点
2015/01/17 面试题
委托书范文
2014/04/02 职场文书
大学生应聘求职信
2014/05/26 职场文书
《中国梦我的梦》大学生演讲稿
2014/08/20 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书