假设我有这个功能
>>>a=3
>>>def num(a):
a=5
return a
>>>num(a)
5
>>>a
3
a 的值不变。
现在考虑这段代码:
>>> index = [1]
>>> def change(a):
a.append(2)
return a
>>> change(index)
>>> index
>>> [1,2]
在此代码中,索引的值发生了变化。有人可以解释一下这两个代码中发生了什么。根据第一个代码,index 的值不应该改变(即应该保持 index=[1])。