當我們有函數時 想要修改函數的功能 最直接的方式就是以修飾該函數的實作程式碼
但往往如此做非常費工夫 所以有了decorator的觀念
如果們將函數視為物件 將它傳入decorator修飾,並返回一個函數
decorator:修飾函數的函數
def decof1(inputf):
return lambda:str(inputf()) + " :decorated" # decorator must return a function
@decof1
def f1():
return 1
def f2():
return 2
#It is equivalent to operate this statement => ' f1 = decof1(f1) '
print (f1()) # decof1(f1)
沒有留言:
張貼留言