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

posted @ 2020-03-30 17:28  图图图图胡图图  阅读(214)  评论(0编辑  收藏  举报