这是一小段代码。
x=np.zeros((1,1))
def recur(n):
a=n
print a,n
if(n[0]==3):
return n
n[0]=n[0]+1
n = recur(n)
print a,n
return n
recur(x)
print语句的期望值是
0,0
1,1
2,2
3,3
2,3
1,3
0,3
但输出是
0,0
1,1
2,2
3,3
3,3
3,3
3,3
3,3
这意味着局部矩阵变量a
实际上不是本地的。当其他变量(如整数)保持为局部时,为什么会这样呢?
我们如何克服这个问题?我需要一个在递归调用中保持完全本地的矩阵变量。