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中的元组概念
May 21 Python
Python实现破解猜数游戏算法示例
Sep 25 Python
Python3实现发送QQ邮件功能(html)
Dec 15 Python
python和flask中返回JSON数据的方法
Mar 26 Python
python pandas修改列属性的方法详解
Jun 09 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
Python基本类型的连接组合和互相转换方式(13种)
Dec 16 Python
Python网页解析器使用实例详解
May 30 Python
vscode配置anaconda3的方法步骤
Aug 08 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
Sep 25 Python
基于python实现监听Rabbitmq系统日志代码示例
Nov 28 Python
看看如何用Python绘制小米新版天价logo
Apr 20 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怎样调用MSSQL的存储过程
2006/10/09 PHP
php-cli简介(不会Shell语言一样用Shell)
2013/06/03 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
php实现的美国50个州选择列表实例
2015/04/20 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
2019/01/15 PHP
js资料prototype 属性
2007/03/13 Javascript
ext jquery 简单比较
2010/04/07 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
js定时器怎么写?就是在特定时间执行某段程序
2013/10/11 Javascript
php读取sqlite数据库入门实例代码
2014/06/25 Javascript
jQuery 选择器详解
2015/01/19 Javascript
常见JS验证脚本汇总
2015/12/01 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
jquery精度计算代码 jquery指定精确小数位
2017/02/06 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
基于EasyUI的基础之上实现树形功能菜单
2017/06/28 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
[47:02]2018DOTA2亚洲邀请赛3月29日 小组赛B组 VP VS paiN
2018/03/30 DOTA
Python中的多行注释文档编写风格汇总
2016/06/16 Python
如何在Python函数执行前后增加额外的行为
2016/10/20 Python
python密码错误三次锁定(实例讲解)
2017/11/14 Python
Django添加KindEditor富文本编辑器的使用
2018/10/24 Python
python递归下载文件夹下所有文件
2019/08/31 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
德国最大的设计师鞋网上商店:Budapester
2017/12/07 全球购物
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
团员个人的自我评价
2013/12/02 职场文书
《胡杨》教学反思
2014/02/16 职场文书
婚前协议书怎么写
2014/04/15 职场文书
党政领导班子群众路线对照检查材料
2014/10/26 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书
什么是动态刷新率DRR? Windows11动态刷新率功能介绍
2021/11/21 数码科技