Python中的引用和拷貝實(shí)例解析
這篇文章主要介紹了python中的引用和拷貝實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
一.引用
a = ['a', 'b', 'c'] b = a print(id(a)) print(id(b)) 135300560 135300560
可以看到,變量a 和 b 的 id是完全一樣的,這就說(shuō)明a和b是同時(shí)指向內(nèi)存的同一個(gè)區(qū)域的,即b隨a的變化而變化.
a = ['a', 'b', 'c'] b = a a[1] = 'd' print(b) b[2] = 'e' print(a) ['a', 'd', 'c'] ['a', 'd', 'e']
二.淺拷貝
淺拷貝只是復(fù)制了的父對(duì)象,即復(fù)制后的變量和復(fù)制前的子對(duì)象還是指向同一個(gè)對(duì)象
淺拷貝可以寫(xiě)為 copy.copy(obj) 或者 obj.copy()
import copy a = ['a', 'b', ['c', 'd', 'e']] b = copy.copy(a) a.append('e') print(b) a[0] = 'g' print(b) a[2].append('f') print(b) ['a', 'b', ['c', 'd', 'e']] ['a', 'b', ['c', 'd', 'e']] ['a', 'b', ['c', 'd', 'e', 'f']]
畫(huà)個(gè)圖來(lái)理解就是如下:
當(dāng)只有a元素的子元素里的元素有變化時(shí),b才會(huì)引起改變
三.深拷貝
深拷貝就比較好理解了,它相當(dāng)于開(kāi)辟了一個(gè)新空間是新指針指向新的空間,無(wú)論原對(duì)象怎么變化,新對(duì)象都不變
import copy a = ['a', 'b', ['c', 'd', 'e']] b = copy.deepcopy(a) a.append('e') print(b) a[0] = 'g' print(b) a[2].append('f') print(b) ['a', 'b', ['c', 'd', 'e']] ['a', 'b', ['c', 'd', 'e']] ['a', 'b', ['c', 'd', 'e']]
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Pyhton爬蟲(chóng)知識(shí)之正則表達(dá)式詳解
正則表達(dá)式又稱規(guī)則表達(dá)式,計(jì)算機(jī)科學(xué)的一個(gè)概念,正則表達(dá)式通常被用來(lái)檢索、替換那些符合某個(gè)模式(規(guī)則)的文本,這篇文章主要給大家介紹了關(guān)于Pyhton爬蟲(chóng)知識(shí)之正則表達(dá)式的相關(guān)資料,需要的朋友可以參考下2022-04-04Python實(shí)現(xiàn)Word文檔樣式批量處理
這篇文章主要為大家詳細(xì)介紹了如何利用Python中的python-docx非標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn)word文檔樣式批量處理,文中示例代碼講解詳細(xì),感興趣的可以了解一下2022-05-05五分鐘學(xué)會(huì)怎么用python做一個(gè)簡(jiǎn)單的貪吃蛇
這篇文章主要介紹了五分鐘學(xué)會(huì)怎么用python做一個(gè)簡(jiǎn)單的貪吃蛇,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01Python光學(xué)仿真之對(duì)光的干涉理解學(xué)習(xí)
這篇文章主要為大家介紹了Python光學(xué)仿真之對(duì)光的干涉理解學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2021-10-10Python的collections模塊中namedtuple結(jié)構(gòu)使用示例
namedtuple顧名思義,就是名字+元組的數(shù)據(jù)結(jié)構(gòu),下面就來(lái)看一下Python的collections模塊中namedtuple結(jié)構(gòu)使用示例2016-07-07python循環(huán)某一特定列的所有行數(shù)據(jù)(方法示例)
在Python中,處理表格數(shù)據(jù)(比如CSV文件、Excel文件等)時(shí),我們通常會(huì)使用pandas庫(kù),因?yàn)樗峁┝素S富的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具,下面,我將以處理CSV文件中的某一特定列的所有行數(shù)據(jù)為例,給出詳細(xì)、完整的代碼示例,感興趣的朋友跟隨小編一起看看吧2024-08-08