裝飾器的簡單用法:
def結果輸出:color(func):
defred():
return
'\033[31;1m%s\033[0m
' %func()
return
reddef
boy():
return
"hello boy!!!
"@color
defgirl():
return
"hello girl!!!"if
__name__ == "
__main__":
print(boy()) #
沒有呼叫裝飾器,顏色不會變的。
hello = color(boy) #
此種寫法可以換成為hello加上@color的寫法。
(hello())
print(girl()) #
welcome因為有裝飾器,所以呼叫時不是呼叫welcome函式,
#而是呼叫color(welcome)()
#color(welcome)返回red,color(welcome)()等價於red()
python簡單裝飾器 python裝飾器簡單使用
理解裝飾前先理解python閉包的概念 下面是對裝飾器的簡單舉例 實質 是乙個函式 引數 是你要裝飾的函式名 並非函式呼叫 返回 是裝飾完的函式名 inner 作用 為已經存在的物件新增額外的功能 特點 不需要對物件做任何的 上的變動 被裝飾的函式無引數 def decorate func 裝飾器列...
裝飾器的簡單使用
要玩裝飾器,就要知道閉包,何為閉包?我們要從閉包的三要素說起 1.函式巢狀 即乙個函式內部還有乙個函式。2.外部函式返回值為內部函式 名 3.內部函式要用到外部函式的變數。為啥要用裝飾器呢?我的理解為,在不改變原碼的基礎上拓展某些功能,不用再寫一遍 了,在某些程度上減少了 的冗餘。看 import ...
裝飾器的簡單了解
1.抽象元件 需要裝飾的抽象物件介面或者抽象父類。2.具體元件 需要裝飾的物件 3.抽象裝飾類 包含了對抽象元件的引用以及裝飾者共有的方法 4.具體的裝飾類 被裝飾的物件。public class decoratetest 1.抽象元件 inte ce drink 2.具體元件 class coff...