UU财经
您的当前位置:首页python中关于装饰器级连的示例

python中关于装饰器级连的示例

来源:UU财经


装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,下面这篇文章主要给大家介绍了关于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。

总结

显示全文