python log装饰器
def log(func):
#将原函数对象的指定属性复制给包装函数对象, 默认有 module、name、doc,或者通过参数选择 @functools.wraps(func) def wrapper(*args, **kwargs): print('call %s():' % func.__name__) print('args = {}'.format(args)) return func(*args, **kwargs) return wrapper
#调用 @log def test3(o,p,q): print(test3.__name__ + " param: " +o+ p +q)
test3('参数o','参数p','参数q')
运行结果:
call test3():
args = ('参数o', '参数p', '参数q')
test3 param: 参数o参数p参数q