from functools import wraps
def mywrapper(func):
variable1 = {}
variable2 = 0
@wraps(func)
def newfunc(*args):
if args in variable1:
return variable1[args]
else:
variable1[args] = func(*args)
variable2 = 1
return variable1[args]
return newfunc
如果我运行这个代码,我会得到错误消息“localvariablevariable2wasnotassigned”。但是如果我把它改成字典,它就可以正常工作,就像variable1一样。这让我对Python变量作用域感到困惑——它依赖于类型吗?我正在使用2.7.6。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐