首先,我要像其他人一樣開始。我是python的新手。我的老師給我的問題:Python範圍可變vs不可變
def f(a, b, c):
a = 1
c = b
c[0] = 2
a = 10
b = [11, 12, 13]
c = [13, 14, 15]
f(a, b, c)
print a, b, c
它打印:
10 [2, 12, 13] [13, 14, 15]
我明白,一個停留在10,因爲整數是不可改變的,但我不明白爲什麼b變爲和C不。
我還要指出,這與數據類型是不可變的/不可變的無關。正如下面的答案指出的那樣,這是關於變量賦值。 [數據模型](http://docs.python.org/reference/datamodel.html)頁面討論了這種差異。 – Rob
什麼是混淆你只是變量名,我猜。給函數外的不同名稱,即x,y,z;所以你想調用f(x,y,z),並打印x,y,z。我相信它不會那麼難看。 – Danny