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计算最小优先级队列代码分享
Dec 18 Python
python开发之文件操作用法实例
Nov 13 Python
Python图像灰度变换及图像数组操作
Jan 27 Python
基于python 二维数组及画图的实例详解
Apr 03 Python
python 获取微信好友列表的方法(微信web)
Feb 21 Python
python关于矩阵重复赋值覆盖问题的解决方法
Jul 19 Python
pycharm编写spark程序,导入pyspark包的3中实现方法
Aug 02 Python
python 利用turtle模块画出没有角的方格
Nov 23 Python
python实现两个一维列表合并成一个二维列表
Dec 02 Python
python如何判断IP地址合法性
Apr 05 Python
python 命令行传参方法总结
May 25 Python
浅析Python实现DFA算法
Jun 26 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 radio 单选框获取与保持值的实现代码
2010/05/15 PHP
PHP中英混合字符串截取函数代码
2011/07/17 PHP
php实现学生管理系统
2020/03/21 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
js 禁止选择功能实现代码(兼容IE/Firefox)
2010/04/23 Javascript
基于Jquery的表格隔行换色,移动换色,点击换色插件
2010/12/22 Javascript
5个javascript的数字格式化函数分享
2011/12/07 Javascript
JavaScript操作DOM元素的childNodes和children区别
2015/04/01 Javascript
Node.js开发者必须了解的4个JS要点
2016/02/21 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
jQuery选择器实例应用
2017/01/05 Javascript
js转换对象为xml
2017/02/17 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
微信小程序wepy框架笔记小结
2018/08/08 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
vue自定义键盘信息、监听数据变化的方法示例【基于vm.$watch】
2019/03/16 Javascript
原生javascript运动函数的封装示例【匀速、抛物线、多属性的运动等】
2020/02/23 Javascript
easy_install python包安装管理工具介绍
2013/02/10 Python
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
python 队列详解及实例代码
2016/10/18 Python
使用Python实现简单的服务器功能
2017/08/25 Python
python bmp转换为jpg 并删除原图的方法
2018/10/25 Python
Python网络爬虫之爬取微博热搜
2019/04/18 Python
Pandas时间序列:重采样及频率转换方式
2019/12/26 Python
利用Python自动化操作AutoCAD的实现
2020/04/01 Python
python中pivot()函数基础知识点
2021/01/03 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
路政管理专业推荐信
2013/11/11 职场文书
党章学习思想汇报
2014/01/14 职场文书
表决心的诗句大全
2014/03/11 职场文书
买卖协议书范本
2014/04/21 职场文书
大学活动总结格式
2014/04/29 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
授权委托书样本
2014/09/25 职场文书
个人委托书范文
2015/01/28 职场文书
2015年财务部工作总结
2015/04/10 职场文书