前言
最近在學習python/51054.html">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。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答