在前天 Python Flask 的簡單示範中,有使用到一個很不一樣的東西,也就是 @app,而這到底又是什麼呢,今天就要來跟大家分享此概念!
@ 來宣告要使用此裝飾器。def first(fun):
def second():
print('This is decorator')
fun('This decorator works')
return second
@first
def primary(n):
print(n)
primary()
以上為裝飾器的實作,這裡來講述此程式碼的概念:
primary() 此函式,來到其所在的位置後,其整體執行步驟為 @first -> primary()。@first 指的是上面 first(fun) 函式,因此會先執行該函式,其中要注意 first(fun) 中的 fun,代表的其實是 primary() 函式,因此在 fun 當中輸入的,也就是 fun('This decorator works'),就是 primary 函式中的 n,由此會產生以下結果:This is decorator
This decorator works
primary() 時,並不需要輸入任何值,因為其在裝飾器內部就已經書寫好。