Python帶參數(shù)的裝飾器運(yùn)行原理解析
關(guān)于裝飾器的理解,特別像《盜夢(mèng)空間》中的進(jìn)入夢(mèng)境和從夢(mèng)境出來(lái)的過(guò)程,一層一層的深入夢(mèng)境,然后又一層一層的返回,被帶入夢(mèng)境的是被裝飾的函數(shù),裝飾器就是使人入夢(mèng)的工具。
上代碼:
from functools import wraps def decorator_with_argument(argument=''): def outer(func): message = argument + func.__name__ @wraps(func) def inner(*args, **kwargs): print(message) print('This is inner function running') return func(*args, **kwargs) return inner return outer
以上是裝飾器的部分。
接下來(lái),是帶參數(shù)的裝飾器:
@decorator_with_argument("Decorator's argument + ") def pfunc(arg='default'): print('This is pfunc running') print(f'This " {arg} " is from pfunc argument')
最后,函數(shù)的運(yùn)行:
pfunc("pfunc's argument")
函數(shù)本身也是帶參數(shù)的。輸出結(jié)果如下:
Decorator's argument + pfunc
This is inner function running
This is pfunc running
This " pfunc's argument " is from pfunc argumentProcess finished with exit code 0
下圖是關(guān)于夢(mèng)境的具體圖示:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python中Selenium模擬JQuery滑動(dòng)解鎖實(shí)例
這篇文章主要介紹了Python中Selenium模擬JQuery滑動(dòng)解鎖實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07python 讀寫(xiě)txt文件 json文件的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇python 讀寫(xiě)、創(chuàng)建 文件的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10用基于python的appium爬取b站直播消費(fèi)記錄
因工作需要,需要爬取相關(guān)數(shù)據(jù),之前是爬取網(wǎng)頁(yè)數(shù)據(jù),可以用python的requests和Selenium進(jìn)行爬取。但b站的直播消費(fèi)數(shù)據(jù)網(wǎng)頁(yè)版不能顯示,只能在手機(jī)上看到,所以就有了這篇文章。需要的朋友可以參考下2021-04-04Tensorflow: 從checkpoint文件中讀取tensor方式
今天小編就為大家分享一篇Tensorflow: 從checkpoint文件中讀取tensor方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Python 實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)的示例(靜態(tài)圖片,gif皆可)
這篇文章主要介紹了Python 實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)的示例,幫助大家更好的利用python進(jìn)行圖片處理,感興趣的朋友可以了解下2020-11-11簡(jiǎn)單介紹Python中的readline()方法的使用
這篇文章主要介紹了簡(jiǎn)單介紹Python中的readline()方法的使用,是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05