首页 > 代码库 > python装饰器
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装饰器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。