def changer(a,b):
a=2
b[0]='spam'
X=1
L=[1,2]
changer(X,L)
print(X,L)
为啥输出值X仍为1,没有改变啊?
def changer(a,b):
a=2
b[0]='spam'
X=1
L=[1,2]
changer(X,L)
print(X,L)
为啥输出值X仍为1,没有改变啊?
因为X是值传递,changer内部的对a改变,并不影响原本的X
而b是列表,属于引用传递,changer内部对该列表的改变会影响原本的L列表