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中生成Epoch的方法
Apr 26 Python
基于Django与ajax之间的json传输方法
May 29 Python
使用pandas对两个dataframe进行join的实例
Jun 08 Python
Django项目开发中cookies和session的常用操作分析
Jul 03 Python
Python 正则表达式爬虫使用案例解析
Sep 23 Python
将python文件打包exe独立运行程序方法详解
Feb 12 Python
浅谈matplotlib.pyplot与axes的关系
Mar 06 Python
Django基于客户端下载文件实现方法
Apr 21 Python
Python3实现个位数字和十位数字对调, 其乘积不变
May 03 Python
推荐值得学习的12款python-web开发框架
Aug 10 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
Jan 09 Python
Python几种酷炫的进度条的方式
Apr 11 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实现留言板功能
2017/03/05 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
PHP应用跨时区功能的实现方法
2019/03/21 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
javascript拓展DOM操作 prependChild insertAfert
2010/11/17 Javascript
Jquery 自定义动画概述及示例
2013/03/29 Javascript
禁止空格提交表单的js代码
2013/11/17 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
一个JavaScript递归实现反转数组字符串的实例
2014/10/14 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
使用Angular.js实现简单的购物车功能
2016/11/21 Javascript
Web 开发中Ajax的Session 超时处理方法
2017/01/19 Javascript
完美实现js焦点轮播效果(一)
2017/03/07 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
深入解析koa之异步回调处理
2019/06/17 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
2019/07/19 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
webpack4从0搭建组件库的实现
2020/11/29 Javascript
深入理解Python中变量赋值的问题
2017/01/12 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
2018/09/02 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
python中的协程深入理解
2019/06/10 Python
Python使用LDAP做用户认证的方法
2019/06/20 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
2019/07/15 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
小饰品店的创业计划书范文
2013/12/28 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
反邪教警示教育活动总结
2015/05/09 职场文书
网络新闻该怎么写?这些写作技巧你都知道吗?
2019/08/26 职场文书
python实现剪贴板的操作
2021/07/01 Python
JavaScript异步操作中串行和并行
2021/11/20 Javascript