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 随机数生成的代码的详细分析
May 15 Python
python命令行参数解析OptionParser类用法实例
Oct 09 Python
再谈Python中的字符串与字符编码(推荐)
Dec 14 Python
Python实现自动为照片添加日期并分类的方法
Sep 30 Python
详解python中的线程与线程池
May 10 Python
Python OpenCV读取显示视频的方法示例
Feb 20 Python
Python使用GitPython操作Git版本库的方法
Feb 29 Python
Python网页解析器使用实例详解
May 30 Python
哪些是python中web开发框架
Jun 17 Python
解决TensorFlow程序无限制占用GPU的方法
Jun 30 Python
Python+unittest+DDT实现数据驱动测试
Nov 30 Python
如何用 Python 制作一个迷宫游戏
Feb 25 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
用Zend Encode编写开发PHP程序
2010/02/21 PHP
php读取mysql的简单实例
2014/01/15 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
dedecms中使用php语句指南
2014/11/13 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
Document 对象的常用方法
2009/07/31 Javascript
js获取字符串最后一位方法汇总
2014/11/13 Javascript
javascript结合fileReader 实现上传图片
2015/01/30 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
jQuery实现在下拉列表选择时获取json数据的方法
2015/04/16 Javascript
jQuery.form插件的使用及跨域异步上传文件
2016/04/27 Javascript
使用base64对图片的二进制进行编码并用ajax进行显示
2017/01/03 Javascript
详解js中==与===的区别
2017/01/08 Javascript
jquery仿苹果的时间/日期选择效果
2017/03/08 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
webuploader分片上传的实现代码(前后端分离)
2018/09/10 Javascript
Vue 框架之动态绑定 css 样式实例分析
2018/11/14 Javascript
小程序页面动态配置实现方法
2019/02/05 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
vue+axios实现post文件下载
2019/09/25 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
python根据文件大小打log日志
2014/10/09 Python
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
简介Django框架中可使用的各类缓存
2015/07/23 Python
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
Python闭包函数定义与用法分析
2018/07/20 Python
详解python-图像处理(映射变换)
2019/03/22 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
英国著名国际平价时尚男装品牌:Topman
2016/08/27 全球购物
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
审计工作个人的自我评价
2013/12/25 职场文书
物业门卫岗位职责
2013/12/28 职场文书
四风问题自查报告剖析材料
2014/02/08 职场文书
2014年法院个人工作总结
2014/12/17 职场文书
男生贾里读书笔记
2015/06/30 职场文书