第1题
import functools def log(f): @functools.wraps(f) def wrapper(*args, **kw): print('begin call %s():' % f.__name__) result = f(*args, **kw) print('end call %s():' % f.__name__) return result return wrapper
测试
@log def f(): print('running...') func=f func()
个人愚见,这里好像并没有“先”返回result值,而是执行了你修饰的f()函数,并打印了输出,而你定义的f()函数并没有返回值,因此result值应该为None,可以加个返回函数试一下
Sign in to make a reply
严肃的F同学
第1题
测试