def make_div
(func):""
"對被裝飾的函式的返回值 div標籤"
"" def inner
(*args,
**kwargs)
:return""+
func()
+""return inner
def make_p
(func):""
"對被裝飾的函式的返回值 p標籤"
"" def inner
(*args,
**kwargs)
:return""+
func()
+""return inner
# 裝飾過程:
1 content =
make_p
(content)
2 content =
make_div
(content)
# content = make_div(make_p(content))
@make_div
@make_p
def content()
:return
"人生苦短"
result =
content()
print
(result)
**說明:
多個裝飾器的裝飾過程是: 離函式最近的裝飾器先裝飾,然後外面的裝飾器再進行裝飾,由內到外的裝飾過程
python之閉包和裝飾器
閉包函式必須滿足兩個條件 1.函式內部定義的函式 2.包含對外部作用域而非全域性作用域的引用 如下閉包函式 def callfunc n 1 def show print show n return show s callfunc s 程式在執行時,callfunc 函式返回了內部定義的 show ...
python之裝飾器和閉包
在了解裝飾器之前,我們先來了解一下閉包,因為裝飾器的本質也是閉包。閉包 乙個函式定義中引用了函式外定義的變數,並且該函式可以在其定義環境外被執行,這樣乙個函式稱之為閉包。概念比較抽象,我們直接看 def outer func loc list def inner func name print lo...
Python 裝飾器 ,閉包
1 裝飾器 不改變被裝飾的函式情況下附加一些功能 本質是函式,用於裝飾其他函式,附加一些本身所沒有的功能 實質 是乙個函式 引數 是你要裝飾的函式名 並非函式呼叫 返回 是裝飾完的函式名 也非函式呼叫 作用 為已經存在的物件新增額外的功能 特點 不需要對物件做任何的 上的變動 例1 計算執行時長 i...