python中装饰器级连的使用方法示例
2017-09-29 11:13
615 查看
前言
最近在学习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。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:
相关文章推荐
- window.resizeBy()方法使用示例
- window.scrollBy()方法使用示例
- Javascript中eval函数的使用方法与示例
- Javascript中eval函数的使用方法与示例
- windows.ResizeTo()方法使用示例
- (四)线程--使用线程回调方法(示例下载)
- (四)线程--使用线程回调方法(示例下载)
- window.scrollBy()方法使用示例
- (四)线程--使用线程回调方法(示例下载)
- windows.ResizeTo()方法使用示例
- iTEXT生成PDF文件使用方法 实例 示例 Servlet输出PDF文档方法
- .Net中FckEditor的配置和使用方法(含示例源码)
- AES类使用方法(内函简单示例)
- window.resizeBy()方法使用示例
- SAFEARRAY使用方法示例
- .Net中FckEditor的配置和使用方法(含示例源码)
- window.scrollTo()方法使用示例
- windows.moveBy()函数使用方法示例
- windows.ResizeTo()方法使用示例
- 下面的示例演示如何使用传递到事件处理方法的 GridViewCommandEventArgs 对象确定引发事件的按钮的命令名。