Python装饰器语法糖
Python装饰器语法糖代码示例
####装饰器的固定格式
##普通版本
deftimer(func):
definner(*args,**kwargs):
'''执行函数之前要做的'''
ret=func(*args,**kwargs)
'''执行函数之后要做的'''
returnret
returninner
##wraps版本
fromfunctoolsimportwraps
defdeco(func):
@wraps(func)#加在最内层函数正上方
defwrapper(*args,**kwargs):
returnfunc(*args,**kwargs)
returnwrapper
####带参数的装饰器
defouter(flag):
deftimer(func):
definner(*args,**kwargs):
ifflag:
print('''执行函数之前要做的''')
ret=func(*args,**kwargs)
ifflag:
print('''执行函数之后要做的''')
returnret
returninner
returntimer
@outer(True)
deffunc():
return'返回值'
x=func()
print(x)
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接