Python中的引用和拷貝實(shí)例解析
這篇文章主要介紹了python中的引用和拷貝實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
一.引用
a = ['a', 'b', 'c'] b = a print(id(a)) print(id(b)) 135300560 135300560
可以看到,變量a 和 b 的 id是完全一樣的,這就說明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ì)象
淺拷貝可以寫為 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']]
畫個(gè)圖來理解就是如下:

當(dāng)只有a元素的子元素里的元素有變化時(shí),b才會(huì)引起改變
三.深拷貝
深拷貝就比較好理解了,它相當(dāng)于開辟了一個(gè)新空間是新指針指向新的空間,無論原對(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']]
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Pandas中數(shù)據(jù)離散化的實(shí)現(xiàn)
Pandas中數(shù)據(jù)離散化是將連續(xù)變量轉(zhuǎn)換為離散類別的過程,本文就來介紹一下Pandas中數(shù)據(jù)離散化的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
Python GUI編程學(xué)習(xí)筆記之tkinter事件綁定操作詳解
這篇文章主要介紹了Python GUI編程學(xué)習(xí)筆記之tkinter事件綁定操作,結(jié)合實(shí)例形式分析了Python GUI編程tkinter事件綁定常見操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2020-03-03
Python數(shù)據(jù)處理之臨近匹配的實(shí)現(xiàn)詳解
在數(shù)據(jù)處理中,經(jīng)常需要找到最接近給定值的元素或數(shù)據(jù)點(diǎn),這種需求在科學(xué)、工程和統(tǒng)計(jì)分析中非常常見,Python 提供了多種方法來實(shí)現(xiàn)這種臨近匹配,下面就跟隨小編一起學(xué)習(xí)一下吧2024-02-02
python基于OpenCV模板匹配識(shí)別圖片中的數(shù)字
這篇文章主要介紹了python基于OpenCV模板匹配識(shí)別圖片中的數(shù)字,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03
Python實(shí)現(xiàn)批量設(shè)置圖片背景為透明
我們?nèi)粘I钪兄谱鱌PT等教學(xué)資源時(shí),需要批量去除圖片背景,就可以使用 Python 的 rembg 庫,下面我們就來看看如何操作rembg實(shí)現(xiàn)批量設(shè)置圖片背景為透明吧2024-11-11
python根據(jù)完整路徑獲得盤名/路徑名/文件名/文件擴(kuò)展名的方法
這篇文章主要介紹了python根據(jù)完整路徑獲得盤名,路徑名,文件名,文件擴(kuò)展名的代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
Python 日期區(qū)間處理 (本周本月上周上月...)
這篇文章主要介紹了Python 日期區(qū)間處理 (本周本月上周上月...),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08

