第二题: 把text为空和不为空分开写了两个函数,返回的时候做if判断。
def log(text=''): def decorate_1(func): @functools.wraps(func) def wrapper(args, **kw): print('text='+text) return func(args, kw) return wrapper def decorate_2(func): @functools.wraps(func) def wrapper(*args, kw): print('no text!') return func(args, *kw) return wrapper return decorate_1 if text!='' else decorate_2
Sign in to make a reply
易水滨需要换个CPU
第二题: 把text为空和不为空分开写了两个函数,返回的时候做if判断。
def log(text=''): def decorate_1(func): @functools.wraps(func) def wrapper(args, **kw): print('text='+text) return func(args, kw) return wrapper def decorate_2(func): @functools.wraps(func) def wrapper(*args, kw): print('no text!') return func(args, *kw) return wrapper return decorate_1 if text!='' else decorate_2