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益智游戏计算汉诺塔问题示例
Mar 05 Python
Python基础入门之seed()方法的使用
May 15 Python
TensorFlow神经网络优化策略学习
Mar 09 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
Mar 15 Python
Python3实现腾讯云OCR识别
Nov 27 Python
python导入坐标点的具体操作
May 10 Python
Python 实现数据结构-堆栈和队列的操作方法
Jul 17 Python
Apache部署Django项目图文详解
Jul 30 Python
Python 利用高德地图api实现经纬度与地址的批量转换
Aug 14 Python
python实现图片二值化及灰度处理方式
Dec 07 Python
Python中Subprocess的不同函数解析
Dec 10 Python
python代码如何实现余弦相似性计算
Feb 09 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
索尼ICF-SW100收音机评测
2021/03/02 无线电
PHP调用MySQL的存储过程的实现代码
2008/08/12 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
PHP使用数组实现矩阵数学运算的方法示例
2017/05/29 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
2017/11/21 PHP
070823更新的一个[消息提示框]组件 兼容ie7
2007/08/29 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
jQuery EasyUI API 中文文档 - Panel面板
2011/09/30 Javascript
JS增加行复制行删除行的实现代码
2013/11/09 Javascript
创建自己的jquery表格插件
2015/11/25 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
详解Angular.js指令中scope类型的几种特殊情况
2017/02/21 Javascript
你点的 ES6一些小技巧,请查收
2018/04/25 Javascript
jQuery实现动态加载select下拉列表项功能示例
2018/05/31 jQuery
深入koa-bodyparser原理解析
2019/01/16 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
js实现验证码功能
2020/07/24 Javascript
解决vue单页面应用打包后相对路径、绝对路径相关问题
2020/08/14 Javascript
python装饰器与递归算法详解
2016/02/18 Python
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
详解python里使用正则表达式的分组命名方式
2017/10/24 Python
简单实现python数独游戏
2018/03/30 Python
如何解决安装python3.6.1失败
2020/07/01 Python
如何利用python生成MD5并去重
2020/12/07 Python
乌克兰巴士票购买网站:inBus
2021/03/12 全球购物
一套Java笔试题
2016/08/20 面试题
税务专业毕业生自荐信
2013/11/10 职场文书
土木工程专业本科生求职信
2014/10/01 职场文书
营运督导岗位职责
2015/04/10 职场文书
七年级作文之游记
2019/12/11 职场文书
go语言基础 seek光标位置os包的使用
2021/05/09 Golang
如何使用pdb进行Python调试
2021/06/30 Python
golang为什么要统一错误处理
2022/04/03 Golang