本文摘自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中字典append 到list 后值的改变
Python步长什么意思
Python如何删除列表一个元素
使用Python可以做什么
Python输入两个数怎么求和
Python如何查看变量类型
单例模式Python有什么用
Python 为什么不支持 switch 语句?
Python3列表的基础学习(附示例)
Python是爬虫吗
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » python中关于装饰器级连的示例