Python装饰器语法糖
时间:2022-01-02 10:48:21|栏目:Python代码|点击: 次
Python装饰器语法糖代码示例
####装饰器的固定格式
##普通版本
def timer(func):
def inner(*args,**kwargs):
'''执行函数之前要做的'''
ret = func(*args,**kwargs)
'''执行函数之后要做的'''
return ret
return inner
##wraps版本
from functools import wraps
def deco(func):
@wraps(func) #加在最内层函数正上方
def wrapper(*args,**kwargs):
return func(*args,**kwargs)
return wrapper
####带参数的装饰器
def outer(flag):
def timer(func):
def inner(*args,**kwargs):
if flag:
print('''执行函数之前要做的''')
ret = func(*args,**kwargs)
if flag:
print('''执行函数之后要做的''')
return ret
return inner
return timer
@outer(True)
def func():
return '返回值'
x=func()
print(x)
总结
栏 目:Python代码
下一篇:Anaconda+spyder+pycharm的pytorch配置详解(GPU)
本文标题:Python装饰器语法糖
本文地址:http://www.codeinn.net/misctech/188853.html






