3
我一直在尝试在Python 2.7装饰,并试图安装在闲置:Python的装饰没有返回值
def logme(func):
def wrapped(*args):
for arg in args: print str(arg)
func(*args)
return wrapped
@logme
def my_func(*args):
res = 1
for arg in args :
print "Multiplying %s by %s" % (arg, res)
res*=arg
print res
return res
输出是这样的:
2
3
Multiplying 2 by 1
Multiplying 3 by 2
6
所以RES值是正确的。然而,当我试图将经由这个RES值:
x = my_func(2,3)
的x
值是None
。它是否正确?如果不是,我在这里做错了什么?
'wrapped'中没有return语句。 –
非常感谢@larsmans – jaysonpryde