def log(text=None): #修饰器存在默认值:为没有参数
def de(func):
@functools.wraps(func)
def first(*args, **kw):
if text: # 当text为True,即修饰器携带参数
print('begin call', func.__name__, 'input is', text) # 函数开始前打印日志,并显示修饰器携带的参数
else: # 当为False时,text为None,即修饰器不携带参数
print('begin call', func.__name__) #函数开始前打印日志
rs = func(*args, **kw)
print('end call') #函数结束打印日志
eturn rs
return first
return de
这个写法错误的
Sign in to make a reply
丶我好烦丶
def log(text=None): #修饰器存在默认值:为没有参数
def de(func):
@functools.wraps(func)
def first(*args, **kw):
if text: # 当text为True,即修饰器携带参数
print('begin call', func.__name__, 'input is', text) # 函数开始前打印日志,并显示修饰器携带的参数
else: # 当为False时,text为None,即修饰器不携带参数
print('begin call', func.__name__) #函数开始前打印日志
rs = func(*args, **kw)
print('end call') #函数结束打印日志
eturn rs
return first
return de