上一节我们进行了Python简单装饰器的讲解,但是python的装饰器还有一部分高级的使用方式,这一节就针对python装饰器高级部分进行讲解。
为一个函数添加多个装饰器
今天,老板又交给你一个任务,老板说:"之前的装饰器用用起来挺好,但是这次我需要再次添加更多的参数,这个任务就交给你了,好好干。",这种时候,我们就可以针对一个函数使用多个装饰器。
import datetime def hel(func): def inner(*args,**kwargs): r = func(*args,**kwargs) print('bye') return r return inner def hel1(func): def inner(*args,**kwargs): print('start time:%s' % datetime.datetime.now()) r = func(*args,**kwargs) print('end time:%s'%datetime.datetime.now()) return r return inner @hel1 @hel def f1(name): print('hello') print(name) name = 'alexsel' f1(name) 执行结果: start time:2018-07-01 10:36:02.085027 hello alexsel bye end time:2018-07-01 10:36:02.086027