python中装饰器级连的使用方法示例
前言
最近在学习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。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
相关文章
详解如何使用Pandas删除DataFrame中的非数字类型数据
在数据处理和分析过程中,经常会遇到需要清洗数据的情况,本文将详细介绍如何使用Pandas删除DataFrame中的非数字类型数据,感兴趣的小伙伴可以了解下2024-03-03python requests 库请求带有文件参数的接口实例
今天小编就为大家分享一篇python requests 库请求带有文件参数的接口实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-01-01解决webdriver.Chrome()报错:Message:''chromedriver'' executable n
这篇文章主要介绍了解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2019-06-06
最新评论