本文摘自php中文网,作者黄舟,侵删。
装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,下面这篇文章主要给大家介绍了关于python中装饰器级连的使用方法,需要的朋友可以参考借鉴,下面来一起学习学习吧。前言
最近在学习python,学会了为什么要使用装饰器,也明白了装饰器是什么了,但是你也许会问,是否可以在装饰器前面再添加一层装饰器,会怎么样呢?就像大楼一样,一层一层地叠在一起。其实是可以的。现在我们就来学习这种堆叠技术,与类的继承是有相似之处,可以不断地继承下去。下面话不多说了,来一起看看详细的介绍吧。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 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" )
|
结果输出如下:
1 2 3 4 5 | ******************************
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Hello
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
******************************
|
在这个例子里,先输出星号,也就是先调用第一层装饰器star,接着调用第二层装饰器percent,最后调用函数printer。
总结
以上就是python中关于装饰器级连的示例的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python中如何进行检索和替换(实例解析)
Python中的super函数如何实现继承?
关于Python中原始字符串与unicode字符串操作符的实例
Python中的输入与输出是什么?(实例详解)
Python是一种什么类型的语言
Python文件读取操作的详细介绍
Python 操作 excel 系列之:数据清洗
Python中post与get方式提交数据的代码实例分享
Python 爬虫网页登录的实现
Python中对socket的详细介绍
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » python中关于装饰器级连的示例