天天看點

20-python中的深淺拷貝

<code>隻拷貝第一層的記憶體位址</code>

指派 示意淺拷貝前先說明指派

指派共用同一塊記憶體空間,一個變量的值改變,另一個指派的變量同時也改變

多個變量名指向同一塊記憶體空間

指派示意圖

20-python中的深淺拷貝

淺拷貝 隻拷貝第一層的記憶體位址

淺拷貝隻拷貝第一層的記憶體空間位址,淺拷貝的兩個變量是單獨的記憶體空間,不再是共用同一個記憶體空間位址

淺拷貝單層元素示意圖(增加元素)

20-python中的深淺拷貝

淺拷貝多層元素示意圖(修改元素)

20-python中的深淺拷貝

淺拷貝多層元素示意圖(第二層增加元素)

20-python中的深淺拷貝

<code>1.淺拷貝隻複制第一層記憶體空間位址</code>

<code>1.淺拷貝,修改第一層元素或者追加元素,都是将舊指向改變為新指向,兩個變量互不影響</code>

<code>3.淺拷貝修改第二層及以下元素或者追加元素,修改的是兩個變量共用的值,此時修改會影響兩個變量</code>

<code>不可變資料類型共用記憶體空間,可變資料類型開辟新的記憶體空間,不管嵌套多少層都是這樣的原理</code>

Import copy copy.deepcopy()
20-python中的深淺拷貝

<code>深拷貝中,不可變資料類型共用記憶體空間位址,可變資料類型開辟新的記憶體空間,不管嵌套多少層都是這樣</code>