python中復(fù)制,淺拷貝,深拷貝

python中包含復(fù)制 淺拷貝與深拷貝
1.復(fù)制

復(fù)制沒有拷貝子對象反砌,未開辟新內(nèi)存空間,也沒有產(chǎn)生新object,所以原始數(shù)據(jù)改變披蕉,復(fù)制后的object也會改變
①最常見的賦值操作就屬于復(fù)制
python中賦值操作實(shí)質(zhì)就是對object的引用,是對當(dāng)前object的引用的拷貝,不是對當(dāng)前object的拷貝

2.淺拷貝shallow copy

②copy模塊中的copy.copy()屬于淺拷貝操作函數(shù)

3.深拷貝deep copy

包含對象里面的自object的拷貝,劃分一塊新的內(nèi)存空間,生成一個新object,所以原始對象的改變不會造成深拷貝里任何子元素的改變

>>> aa=['3','45','456']          #列表
>>> bb=aa                           #直接賦值
>>> cc=copy.copy(aa)         #淺拷貝
>>> dd=copy.deepcopy(cc) #深拷貝
>>> id(aa)
45129096L
>>> id(bb)
45129096L
>>> id(cc)
45185160L
>>> id(dd)
45129032L
4.copy() 與deepcopy()

針對簡單變量,兩種操作是沒有區(qū)別的,在面對復(fù)雜object時有區(qū)別然走,所謂復(fù)雜object,是指object中含其他object(如復(fù)雜的 list 和 class)。
由 shallow copy 創(chuàng)建的新object開辟了新的空間寒跳,但新object里面的子object是對舊object引用的拷貝,依然指向自己在原來本體中對應(yīng)的子object。而 deep copy 建立的復(fù)雜object中竹椒,存儲的則是本體中子object的 copy童太,并且會層層如此 copy 到底,相當(dāng)于對object里的各層進(jìn)行遞歸copy。

In [1]: import copy
In [2]: a=['1','2','3',['aa','bb']]
In [3]: b=a
In [4]: c=copy.copy(b)
In [5]: d=copy.deepcopy(a)
In [6]: c=copy.copy(a)
In [7]: a.append('4')
In [8]: a[3].append('cc')
In [9]: a
Out[9]: ['1', '2', '3', ['aa', 'bb', 'cc'], '4']
In [10]: b
Out[10]: ['1', '2', '3', ['aa', 'bb', 'cc'], '4']
In [11]: c
Out[11]: ['1', '2', '3', ['aa', 'bb', 'cc']]
In [12]: d
Out[12]: ['1', '2', '3', ['aa', 'bb']]

注:
①其中a.append('4')在淺拷貝和深拷貝后生成的新object都不會因?yàn)槔蟧bject變化而變化,故a中尾部插入數(shù)據(jù)不對新object c和d 產(chǎn)生影響
② a[3].append('cc'),在淺拷貝中,新object c中的子對象['aa','bb']依然是對a中['aa','bb']的子object的引用,c中子對象會因a子object的變化而變化,故c中子object變?yōu)閇'aa', 'bb', 'cc'],在深拷貝中d的object及object內(nèi)部的,是完全對立的地址空間,完全不改變

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末胸完,一起剝皮案震驚了整個濱河市书释,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赊窥,老刑警劉巖爆惧,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異锨能,居然都是意外死亡扯再,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門址遇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來熄阻,“玉大人,你說我怎么就攤上這事倔约⊥貉常” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長复濒。 經(jīng)常有香客問我脖卖,道長,這世上最難降的妖魔是什么巧颈? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任畦木,我火速辦了婚禮,結(jié)果婚禮上砸泛,老公的妹妹穿的比我還像新娘十籍。我一直安慰自己,他們只是感情好唇礁,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布勾栗。 她就那樣靜靜地躺著,像睡著了一般盏筐。 火紅的嫁衣襯著肌膚如雪围俘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天琢融,我揣著相機(jī)與錄音界牡,去河邊找鬼。 笑死漾抬,一個胖子當(dāng)著我的面吹牛宿亡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播纳令,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼挽荠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了平绩?” 一聲冷哼從身側(cè)響起圈匆,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎捏雌,沒想到半個月后跃赚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腹忽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了砚作。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窘奏。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖葫录,靈堂內(nèi)的尸體忽然破棺而出着裹,到底是詐尸還是另有隱情,我是刑警寧澤米同,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布骇扇,位于F島的核電站摔竿,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏少孝。R本人自食惡果不足惜继低,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望稍走。 院中可真熱鬧袁翁,春花似錦、人聲如沸婿脸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽狐树。三九已至焙压,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抑钟,已是汗流浹背涯曲。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留味赃,地道東北人掀抹。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像心俗,于是被迫代替她去往敵國和親傲武。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容