-2
我很難理解爲什麼,當調用text
函數時,num1
受到影響,而num2
未更改?python可變/不可變函數
def text(null1, null2) :
null1 += [7]
null2 = [8]
num1 = [2,3]
num2 = [4,5]
text(num1,num2)
print(num1)
print(num2)
我很難理解爲什麼,當調用text
函數時,num1
受到影響,而num2
未更改?python可變/不可變函數
def text(null1, null2) :
null1 += [7]
null2 = [8]
num1 = [2,3]
num2 = [4,5]
text(num1,num2)
print(num1)
print(num2)
null1 += [7]
修改列表null1
。我是你的情況它修改了你作爲參數提交的名單num1
。
但是:
null2 = [8]
創建一個新的列表。在函數內部,它創建一個新的局部變量。因此,它不會改變num2
。
因爲'a + = b'與'a = a + b'不一樣。 – BrenBarn
當您追加時,它將被追加到同一個列表中,但是當您分配時,會創建一個新列表。 –