Python函數裝飾器使用語法是什么?Python函數裝飾器使用教程

python裝飾器指的就是能夠一個已經存在的函數,去額外添加上某些功能的函數,裝飾器本身就是封裝好的函數 。那么很多初學者對于裝飾器還不太了解并且也不會使用,所以這一篇文章就是會來詳細介紹一下python函數裝飾器使用語法,感興趣的話就一起往下看看吧 。

Python函數裝飾器使用語法是什么?Python函數裝飾器使用教程


一、不帶參數
因為python裝飾器本身也就是一個函數,所以這個裝飾器在調用時也可以去設置不傳遞參數進去,哪怕它本身在定義時有形參存在 。那么任何一個函數都可以作為裝飾器去使用,只需要用@加上不帶括號的函數名并將其寫在另外一個函數上即可,詳細代碼如下所示:
def mycountry(m):    print(123)    return m@mycountrydef myname():    print(456)    return namemyname()123456上面這段代碼只是去調用了函數myname,但是因為另外一個函數mycountry是作為這個函數的裝飾器存在,所以這個函數在調用時也通用會執行這個裝飾器函數 。而不帶參數的實際原因是在于,country函數在調用時就會將下面的name函數作為參數傳入進去 。
二、帶參數
那么帶參數就很容易理解了,這里的帶參數不是說在裝飾器后面加上括號并寫形參 。而是只有裝飾器修飾的函數在調用是傳入參數進去,那么因為整個函數都會作為裝飾器參數,所以在執行該函數時就會連同值一起傳入到裝飾器之中,詳細代碼示例如下所示:
def mycountry(m):    country = "china"    print(country)    def myb(bb):        m(bb)        print("y")    return myb@mycountrydef myname(b):    name = "choei"    print(name)    print("a :",b)    return namemyname("boy")【Python函數裝飾器使用語法是什么?Python函數裝飾器使用教程】以上就是關于“Python函數裝飾器使用語法是什么?Python函數裝飾器使用教程”的全部內容了,希望對你有所幫助 。

    猜你喜歡