python中装饰器级连的使用方法示例


Posted in Python onSeptember 29, 2017

前言

最近在学习python,学会了为什么要使用装饰器,也明白了装饰器是什么了,但是你也许会问,是否可以在装饰器前面再添加一层装饰器,会怎么样呢?就像大楼一样,一层一层地叠在一起。其实是可以的。现在我们就来学习这种堆叠技术,与类的继承是有相似之处,可以不断地继承下去。下面话不多说了,来一起看看详细的介绍吧。

代码如下:

#python 3.6 
def star(func): 
  def inner(*args, **kwargs): 
    print("*" * 30) 
    func(*args, **kwargs) 
    print("*" * 30) 
  return inner 
 
def percent(func): 
  def inner(*args, **kwargs): 
    print("%" * 30) 
    func(*args, **kwargs) 
    print("%" * 30) 
  return inner 
 
@star 
@percent 
def printer(msg): 
  print(msg) 
printer("Hello")

结果输出如下:

******************************
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Hello
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
******************************

在这个例子里,先输出星号,也就是先调用第一层装饰器star,接着调用第二层装饰器percent,最后调用函数printer。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
微信跳一跳python代码实现
Jan 05 Python
python中numpy的矩阵、多维数组的用法
Feb 05 Python
numpy实现合并多维矩阵、list的扩展方法
May 08 Python
详解Django rest_framework实现RESTful API
May 24 Python
Python实现简易过滤删除数字的方法小结
Jan 09 Python
Django 开发调试工具 Django-debug-toolbar使用详解
Jul 23 Python
简单介绍python封装的基本知识
Aug 10 Python
python with语句的原理与用法详解
Mar 30 Python
windows10环境下用anaconda和VScode配置的图文教程
Mar 30 Python
使用OpenCV实现道路车辆计数的使用方法
Jul 15 Python
python的flask框架难学吗
Jul 31 Python
详解运行Python的神器Jupyter Notebook
Jun 03 Python
python中map()函数的使用方法示例
Sep 29 #Python
python中reduce()函数的使用方法示例
Sep 29 #Python
Django Admin 实现外键过滤的方法
Sep 29 #Python
python 调用c语言函数的方法
Sep 29 #Python
python文件名和文件路径操作实例
Sep 29 #Python
Python 实现简单的shell sed替换功能(实例讲解)
Sep 29 #Python
Python 基础教程之闭包的使用方法
Sep 29 #Python
You might like
修改了一个很不错的php验证码(支持中文)
2007/02/14 PHP
php替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
php实现无限级分类
2014/12/24 PHP
PHP程序员不应该忽略的3点
2015/10/09 PHP
PHP打印输出函数汇总
2016/08/28 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
php实现每日签到功能
2018/11/29 PHP
浅谈PHP中的Trait使用方法
2019/03/22 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
javascript类继承机制的原理分析
2009/09/12 Javascript
基于jquery的web页面日期格式化插件
2011/11/15 Javascript
JS动态获取当前时间,并写到特定的区域
2013/05/03 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
JS实现弹出居中的模式窗口示例
2016/06/20 Javascript
利用types增强vscode中js代码提示功能详解
2017/07/07 Javascript
微信小程序实现自上而下字幕滚动
2018/07/14 Javascript
原来JS还可以这样拆箱转换详解
2019/02/01 Javascript
微信小程序配置服务器提示验证token失败的解决方法
2019/04/03 Javascript
vue实现随机验证码功能的实例代码
2019/04/30 Javascript
JavaScript数组排序的六种常见算法总结
2020/08/18 Javascript
js绘制一条直线并旋转45度
2020/08/21 Javascript
浅谈python迭代器
2017/11/08 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
python操作文件的参数整理
2019/06/11 Python
python的pytest框架之命令行参数详解(上)
2019/06/27 Python
详解Python 重学requests发起请求的基本方式
2020/02/07 Python
Python从MySQL数据库中面抽取试题,生成试卷
2021/01/14 Python
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
购房协议书范本
2014/04/11 职场文书
普通话宣传标语
2014/06/26 职场文书
创先争优活动党员公开承诺书
2014/08/29 职场文书
员工工作自我评价
2014/09/26 职场文书
大学生英文求职信范文
2015/03/19 职场文书
初级职称评定工作总结
2015/08/13 职场文书