Python 传值还是传引用
在实现二叉树的代码时,使用递归调用,当给空叶子节点赋值的时候,发现只修改了局部变量。 因此研究了一下Python中传值和传引用的问题。 实验 实验一 a = None print(id(a)) b = None print(id(b)) 4321685368 4321685368 结论: 结果指向同一块区域 实验二 def test(x): x = x+2; a = 2 print(a) 2 结论: 没有改变原变量 实验三 def test(x): x = [1,2,3] a = [1,2] print(a) print(id(a)) test(a) print(a) print(id(a)) [1, 2] 4370314760 [1, 2] 4370314760 结论: 没有改变原变量地址 实验四 def arrayadd(x): x.append(1) a = [1,2] print(a) print(id(a)) arrayadd(a) print(a) print(id(a)) [1, 2] 4370399624 [1, 2, 1] 4370399624 结论:变量地址不变,值...