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实现爬虫统计学校BBS男女比例之数据处理(三)
Dec 31 Python
详解MySQL数据类型int(M)中M的含义
Nov 20 Python
Python爬虫中urllib库的进阶学习
Jan 05 Python
用Python将Excel数据导入到SQL Server的例子
Aug 24 Python
给你一面国旗 教你用python画中国国旗
Sep 24 Python
Python使用tkinter模块实现推箱子游戏
Oct 08 Python
详解python opencv、scikit-image和PIL图像处理库比较
Dec 26 Python
TensorFlow2.1.0最新版本安装详细教程
Apr 08 Python
Python中的With语句的使用及原理
Jul 29 Python
python exit出错原因整理
Aug 31 Python
Python try except finally资源回收的实现
Jan 25 Python
Python爬虫基础之初次使用scrapy爬虫实例
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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
PHP连接Nginx服务器并解析Nginx日志的方法
2015/08/16 PHP
php求数组全排列,元素所有组合的方法
2016/05/05 PHP
微信支付开发维权通知实例
2016/07/12 PHP
javascript正则表达式中参数g(全局)的作用
2010/11/11 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
js如何获取兄弟、父类等节点
2014/01/06 Javascript
jquery获取元素索引值index()示例
2014/02/13 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
textarea焦点的用法实现获取焦点清空失去焦点提示效果
2014/05/19 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
javascript数组详解
2014/10/22 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
AngularJS基础 ng-model-options 指令简单示例
2016/08/02 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
详解webpack es6 to es5支持配置
2017/05/04 Javascript
Chrome调试折腾记之JS断点调试技巧
2017/09/11 Javascript
基于Vue实现图书管理功能
2017/10/17 Javascript
React组件重构之嵌套+继承及高阶组件详解
2018/07/19 Javascript
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
详解在Python程序中使用Cookie的教程
2015/04/30 Python
Python回调函数用法实例详解
2015/07/02 Python
在python中安装basemap的教程
2018/09/20 Python
在python里协程使用同步锁Lock的实例
2019/02/19 Python
详解Python静态网页爬取获取高清壁纸
2019/04/23 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
万得城电器土耳其网站:欧洲第一大电子产品零售商
2016/10/07 全球购物
英国最大的在线奢侈手表零售商:Jura Watches
2018/01/29 全球购物
PacSun官网:加州生活方式服装、鞋子和配饰
2018/03/10 全球购物
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
模范教师事迹材料
2014/02/10 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python