為什么帶參數的裝飾器要加多一個函數?。垦b飾器好像有時并不是那么好用?
代碼是運出來了,但是我壓根就沒懂為什么加多一個函數就可以在打印函數名的時候有后綴ms,難道是通過疊加函數并返回新的函數達到更新函數的作用?那為什么要不停的疊加函數呢?干脆直接編寫新的函數不是更快,因為好像真正起作用的 :
t = (t2 - t1) * 1000 if unit=='ms' else (t2 - t1)?
print 'call',f.__name__ +'()',t,unit
這兩步還是要重新編寫???!
這是不是說明“裝飾器”有時并不好用?
這節課看不懂是不是要重新補一下閉包的知識?(雖然我已經看了好幾遍閉包了,但這節課還是糊里糊涂的。)
希望這節課看懂的同學可以教教小白,ε=(′ο`*)))唉
2019-03-03
就是不用重新把所有的代碼寫一遍了,多少還是要寫一點東西,要不怎么知道怎么添加的新功能,至于有的想不明白看不懂可以先做好標記往下看,回過頭來可能會好一點
2019-03-22
想要實現一個功能,如果不用閉包,就是一層函數。
如果加上閉包,保護內層函數,那就套一層函數。
如果用裝飾器,有一層需要傳真正的函數作為參數,有一層需要傳遞真正的函數的參數作為參數,那就一共套兩層。
如果裝飾器也有參數要傳進去,那就再套一層。
2019-02-15
裝飾模式你聽說過嗎。。。。
2019-01-15
函數嵌套,使得最終實現的效果和無參裝飾器一樣,即通過返回一個裝飾器使得傳入參數變成了一個固定值