要让事情改变,先改变自己;要让事情变得更好,先让自己变得更强。 ------ joker1034

装饰器修复技术@wraps

@wrap修复技术

首先我先说一下wrap的效果

如果没使用@wraps,当A调用了装饰器B的话,即使A.name,返回的会是装饰器B的函数名称,而不是A的函数名称
如果使用了@wraps,当A调用了装饰器B的话,A.__name__返回的会是A函数的名称,而不是饰器B的名称,这也即使常说的@wraps是装饰器的修复技术,实际就是修复还原了A的

首先我们看一下普通函数:

普通函数执行结果:

加入装饰器但没有添加修复:

 

加入装饰器但没有添加修复执行结果:

添加装饰修复技术:

 

 

 

添加装饰修复技术的结果:

 

 

posted @ 2019-03-18 20:35  joker1034  阅读(137)  评论(0编辑  收藏  举报

python开发&研究 - 创建于 2018年10月

这是一位python开发工程师的个人站,内容主要是python开发方面的技术文章,大部分来自学习或工作,部分来源于网络,希望对大家有所帮助。

致力于python开发&研究工作,专注python开发,关注互联网前沿技术与趋势。


Font Awesome | Respond.js | Bootstrap中文网