python共享引用

2021-07-11 17:40:32 字數 589 閱讀 4721

對於可變值(比如列表),當多個變數指向同乙個可變值時,它們就會共享同乙個引用:它們都指向同乙個值。通過其中乙個變數對值所作出的修改會影響到其他所有的變數,原因就是只有乙個共享的副本。

mike=["khakis","dress shirt","jacket"]

mr_dawson=mike

honey=mike

honey[2]="red sweater"

print(mike)

print(mr_dawson)

print(honey)

輸出:

但是切片就不會有這個效果,因為它得到的永遠都是副本。

mike=["khakis","dress shirt","jacket"]

honey=mike[:]

honey[2]="red sweater"

print(honey)

print(mike)

輸出:

python 共享引用

在上一節中,我給大家介紹了單個變數被賦值引用多個物件的情況。然而,單個 乙個 物件被多個變數引用又是怎麼一回事兒呢?a 3 b a 先上圖 圖1 吧,大家一看就一目了然了 變數名和物件,在執行賦值語句b a之後,變數a,b都指向了物件3的記憶體空間.假設這時執行 a python a將指向剛建立的字...

Python共享引用和原處修改

在python中,變數總是乙個指向物件的指標,而不是可改變的記憶體區域的標籤 給乙個變數賦乙個新的值,並不是替換了原始物件,而是讓這個變數去引用完全不同的乙個物件。實際的效果就是對乙個不支援原處修改的變數賦值,僅僅會影響那個被賦值的變數。但對於支援在原處修改的物件,共享引用時需倍加小心,因為對乙個變...

Pyhton 共享引用

首先 a 3 b a b a會使python建立變數b。變數a正在使用,並且a這裡沒有被賦值,所以a被替換成其引用的物件3,從而b也成為這一物件的引用。a和b指向了相同的記憶體空間。這在python中叫做共享引用 多個變數名引用了同乙個物件。下一步 a 3 b a a spam 第三條語句建立了新的...