什么是裝飾器?
? ? ? ?我們先了解一下基本概念:它的本質(zhì)就是一個(gè)函數(shù),可以讓其他函數(shù)在不需要做任何代碼變動(dòng)的前提下增加額外的功能,它的返回值也是一個(gè)函數(shù)對(duì)象。
在接下來的過程中我們循序漸進(jìn)的來了解究竟裝飾器長什么樣子。
一切皆對(duì)象
在python中一切皆對(duì)象,函數(shù)也不例外。
我們理解下Python中的函數(shù):

函數(shù)中定義函數(shù)
? ? ? ?在前面說過,在python中一切皆對(duì)象,這樣就使得變量所擁有的屬性,函數(shù)也同樣擁有。這樣我們理解在函數(shù)內(nèi)創(chuàng)建一個(gè)函數(shù)時(shí)合法的。

從函數(shù)中返回函數(shù)
其實(shí)在一個(gè)函數(shù)中并不需要去執(zhí)行另一個(gè)函數(shù),我們可以將其作為輸出返回出來。

將函數(shù)作為參數(shù)傳給另一個(gè)函數(shù)

快要揭開裝飾器的真面目了

用@運(yùn)行之前的代碼

現(xiàn)在你對(duì)python裝飾器的工作原理是不是有個(gè)基本的認(rèn)識(shí)了?
@a_new_decorator
相當(dāng)于
a_function_requiring_decoration = a_new_decorator(a_function_requiring_decoration)
在網(wǎng)上找到的做了相關(guān)總結(jié)
