十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章将为大家详细讲解有关Python项目中如何使用装饰器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
成都创新互联公司于2013年成立,先为延边朝鲜族等服务建站,延边朝鲜族等地企业,进行企业商务咨询服务。为延边朝鲜族企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。一. 什么是装饰器
知乎某大佬如是说:内裤可以用来遮羞,但是到了冬天它没法为我们防风御寒,聪明的人们发明了长裤,有了长裤后宝宝再也不冷了,装饰器就像我们这里说的长裤,在不影响内裤作用的前提下,给我们的身子提供了保暖的功效。
装饰器本质上是Python函数,可以为已存在的对象添加额外的功能,同时装饰器还可以抽离出与函数无关的重用代码。具体应用场景如:插入日志、性能测试、事务处理、缓存、权限校验等。
换言之
装饰器不能影响原函数的功能,装饰器是独立出来的函数。谁调用它,谁就可以使用它的功能。
二.举个栗子
add的功能是计算x和y的值,我们称作功能函数。
logger的作业是在执行add函数的同时再打印了其他的信息,这部分的作为add的功能增强,我们称为装饰。
在logger里我们可以加入其他类似的功能函数,也能包装它,可以进行复用。
1.引子
#功能函数 def add(x,y): return x+y #装饰函数 def logger(fn): print('frist') x = fn(4,5) print('second') return x print(logger(add)) #把函数add传给logger ,return x+y #print('frist') #print('secend') # x = fn(4,5) ==> x = 4 y= 5 x= 4+5 = 9 #return 9