def log4(args, **kw): if(len(args) != 0 and callable(args[0])): func = args[0] def wrapper(argss, kw): print('函数 %s 被调用.' % func.name) tmpfunc = func(*argss, kw) print('函数%s执行结束.' % func.name) return tmpfunc return wrapper else: def doFunc(func): @functools.wraps(func) def wrapper(argss, **kw): message = '' if(args[0] != ''): message = 'message:' + args[0] print('函数 %s 被调用.%s' % (func.name, message)) tmpfunc = func(argss, **kw) print('函数%s执行结束.' % func.name) return tmpfunc return wrapper return doFunc
@log4
def f(): print('hello world')
@log4('有说明的log')
def f2(): print('hello world')
f() f2()
Sign in to make a reply
超不靠谱男青年
def log4(args, **kw): if(len(args) != 0 and callable(args[0])): func = args[0] def wrapper(argss, kw): print('函数 %s 被调用.' % func.name) tmpfunc = func(*argss, kw) print('函数%s执行结束.' % func.name) return tmpfunc return wrapper else: def doFunc(func): @functools.wraps(func) def wrapper(argss, **kw): message = '' if(args[0] != ''): message = 'message:' + args[0] print('函数 %s 被调用.%s' % (func.name, message)) tmpfunc = func(argss, **kw) print('函数%s执行结束.' % func.name) return tmpfunc return wrapper return doFunc
@log4
def f(): print('hello world')
@log4('有说明的log')
def f2(): print('hello world')
f() f2()