首页 > 其他 > 详细

写出一个@log的decorator 既支持@log也支持@log('xxx')

时间:2016-02-16 16:56:17      阅读:1355      评论:0      收藏:0      [点我收藏+]

技术分享

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)

技术分享

 

写出一个@log的decorator 既支持@log也支持@log('xxx')

原文:http://rachelxie.blog.51cto.com/9080122/1742491

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!