python中的引用和拷貝

2021-08-18 15:57:20 字數 842 閱讀 5730

引用是指儲存的值為物件的位址。在 python 語言中,乙個變數儲存的值除了基本型別儲存的是值外,其它都是引用,因此對於它們的使用就需要小心一些。下面舉個例子:

引用:

a=[false,false,false,false]

b=ab[0]=true

print(b)

print(a)

[true, false, false, false]

[true, false, false, false]

複製:

方法1,b=a[:]

a=[false,false,false,false]

b=a[:]

b[0]=true

print(b)

print(a)

[true, false, false, false]

[false, false, false, false]

方法2,copy.deepcopy

import copy

a=[false,false,false,false]

b=copy.deepcopy(a)

b[0]=true

print(b)

print(a)

[true, false, false, false]

[false, false, false, false]

python引用和物件,淺拷貝和深拷貝

關鍵 在python中的分為 可變資料物件 列表,字典 和 不可變資料物件 整型,字串,浮點型,元祖 可變的意思是引用之間會相互影響,不可變則不會相互影響。如果是可變物件的話就算是函式引數傳遞也會相互影響,即函式內部對物件的操作也會影響函式外部的 l 1,2,3 def func t t 0 100...

python中賦值引用 淺拷貝 深拷貝

t 1,2,2 defmain n n 0 3 return n main t print t 輸出是t 3,2,2 同樣,使用return的返回值也是一樣的結果,因為無論怎麼說,在python中的賦值都是引用,變數本身就是乙個標籤,只是我們可以通過變數取訪問記憶體中的資料而已。在實際的使用過程中如...

Python中的賦值引用 淺拷貝 深拷貝小結

有部分參考資料 from copy import copy,deepcopy l 1,2,3,4,1,2,3 new l l copy l copy l deepcopy l deepcopy l print l id l print new l id new l print copy l id c...