python装饰器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python装饰器相关的知识,希望对你有一定的参考价值。
之前一直不明白装饰器是个什么东西?
装饰器是Python语言中的高级语法。主要的功能是对一个函数、方法、或者类进行加工,作用是为已经存在的对象添加额外的功能,提升代码的可读性。
装饰器是设计模式的一种,被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。
上面一段话可能作为我这样的新手不太理解,那我就用通俗点的语言把我的理解告诉大家;
比如你现在写了一万个游戏打怪升级的方法,现在产品需求突然要求在打怪升级之前必须装备一把大刀,那你就要在这一万个打怪升级的方法前添加装备大刀的代码,好不容易添好代码后,产品需求又变了,打怪升级前不要装备大刀了,需要装备一把大剑,那么好了,你又得把一万个方法的装备大刀的步骤改成装备大剑;以此类推如此反复的修改,工作量大大增加,装饰器就派上用场了。
再说白一点:装饰器就是在某个方法执行前或执行后所要额外执行的功能
看如下栗子:
#encoding:utf-8 #!/usr/bin/env python def zhuangshi(fun):#定义装饰器 def wrapper(): #print ‘装备大刀‘ #如需装备大刀就去掉注释 fun() #print ‘卸下大刀‘ #如需装备大刀就去掉注释 return wrapper @zhuangshi def func1(): print ‘打怪升级1‘ @zhuangshi def func2(): print ‘打怪升级2‘ @zhuangshi def func3(): print ‘打怪升级3‘ if __name__ == ‘__main__‘: func1() func2() func3()
可以复制代码实际运行下。
本文出自 “song” 博客,请务必保留此出处http://song1230.blog.51cto.com/5595296/1879896
以上是关于python装饰器的主要内容,如果未能解决你的问题,请参考以下文章