寫出一個@log的decorator 既支持@log也支持@log('xxx')

wKioL1bC1LqyoCQcAAEIh2t-5PM579.jpg

log()() 第一個()表示調用log() 第二個()表示wrapp裏面的func

流程解讀:

輸入命令動作放入ss

如果ss==@log 然後就調用log()(nows)

因爲log()爲空所以不會匹配log函數裏面的if args != ' ' 不會打印args[0]

關於args與kw的認識可以參考這個博主寫的 簡單易懂

http://blog.sina.com.cn/s/blog_65a8ab5d0101fglm.html

 

之所以用args[0]是因爲args是一個tuple 如果只打印args 界面不美觀簡潔

 

同理 如果ss 不等於@log就執行log(ss)(nows)

wKioL1bC13TQ_TzvAACDejK_w_c939.jpg

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章