写出一个@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

 

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