def log(func): @functools.wraps(func) def wrapper(*args, **kw): print('call %s():' % func.__name__) return func(*args, **kw) return wrapper
上面这个是给出的例子
def log(func): @functools.wraps(func) def wrapper(*args, **kw): print('call %s():' % func.__name__) func(*args, **kw) return wrapper
这个是把wrapper函数的 return去掉,结果是一样的,请问有何区别
你把原函数return 1然后试试wrapper有和没有return就知道区别了
return 1
一个有返回值一个没有返回值,因为此处全是输出,返回值看起来没有什么意义,所以你觉得没差别,但是你将原函数改成一个返回值有意义的,那么第二个方法中wrapper函数接收不到返回值,最后结果你接受输出一下应该是NULL...
前面一排看下来都没有return func的值 这层终于看到博主大人了 Orz
Sign in to make a reply
taogebuaa
上面这个是给出的例子
这个是把wrapper函数的 return去掉,结果是一样的,请问有何区别