python中引用和賦值的區(qū)別及說(shuō)明
1.引用
python中,賦值操作會(huì)產(chǎn)生相同對(duì)象的多個(gè)引用,如果在原位置修改這個(gè)可變對(duì)象時(shí),可能會(huì)影響程序其他位置對(duì)這個(gè)對(duì)象的引用。
>>> x = [1, 2, 3] >>> y = [x, 4, 5] >>> z = [x, 6] >>> y [[1, 2, 3], 4, 5] >>> z [[1, 2, 3], 6] # 改變被多次引用的變量x >>> x[0] = 2 >>> y [[2, 2, 3], 4, 5] >>> z [[2, 2, 3], 6]
引用類似于其他語(yǔ)言的“指針”。
通過(guò)引用,就可以在程序范圍內(nèi)任何地方傳遞大型對(duì)象而不必在途中進(jìn)行開銷巨大的賦值操作。
2.賦值
賦值與引用不同,復(fù)制后會(huì)產(chǎn)生一個(gè)新的對(duì)象,原對(duì)象修改后不會(huì)影響到新的對(duì)象。
賦值的方法:
沒有起點(diǎn)和重點(diǎn)的分片法:
>>> A = [1, 2, 3] >>> B = A[:] # B賦值A(chǔ) >>> B [1, 2, 3] # 改變A的值 >>> A[0] = 2 >>> A [2, 2, 3] >>> B [1, 2, 3]
字典、集合或列表的copy方法:
>>> a = [1, 2, 3] >>> b = a.copy() # b賦值a # 改變a的值 >>> a[0] = 2 >>> a [2, 2, 3] >>> b [1, 2, 3]
list()、dict()、set()等內(nèi)置函數(shù)可以進(jìn)行賦值:
>>> x = [1, 2] >>> y = list(x) >>> x[1] = 3 #Python學(xué)習(xí)交流群:711312441 >>> x [1, 3] >>> y [1, 2]
不過(guò)需要注意的是,這種賦值僅能做到頂層賦值,如果出現(xiàn)嵌套的情況下仍不能進(jìn)行深層賦值。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python使用正則匹配實(shí)現(xiàn)抓圖代碼分享
本文給大家分享的是個(gè)人的第一個(gè)作品,使用Python正則匹配實(shí)現(xiàn)抓圖代碼,非常的簡(jiǎn)單實(shí)用,推薦給大家,小伙伴們可以自由擴(kuò)展下。2015-04-04
Python使用Mammoth將DOCX轉(zhuǎn)換為HTML
這篇文章主要介紹了如何使用Python的Mammoth庫(kù)將DOCX文件轉(zhuǎn)換為HTML,包括安裝Mammoth、提取文本、自定義樣式映射、處理圖像以及使用命令行工具進(jìn)行轉(zhuǎn)換,需要的朋友可以參考下2026-01-01
Python中OpenCV?Tutorials?20??高動(dòng)態(tài)范圍成像的實(shí)現(xiàn)步驟
這篇文章主要介紹了OpenCV?Tutorials?20?-?高動(dòng)態(tài)范圍成像,本文還給大家展示了一種稱為曝光融合的替代方法,它可以產(chǎn)生低動(dòng)態(tài)范圍的圖像,需要的朋友可以參考下2022-06-06
Pygame用數(shù)學(xué)公式實(shí)現(xiàn)心之律動(dòng)動(dòng)畫
本文將帶你探索如何使用Python的Pygame庫(kù)實(shí)現(xiàn)一個(gè)名為心之律動(dòng)的粒子動(dòng)畫,通過(guò)數(shù)學(xué)公式生成心形軌跡,并加入煙花爆炸、鼠標(biāo)交互等元素,需要的朋友可以參考下2026-02-02
Python本地cache不當(dāng)使用導(dǎo)致內(nèi)存泄露的問(wèn)題分析與解決
最近在項(xiàng)目開發(fā)中遇到了本地cache不當(dāng)使用導(dǎo)致的一個(gè)內(nèi)存泄露問(wèn)題,所以本文主要分析了問(wèn)題出現(xiàn)的原因已經(jīng)解決方法,需要的小伙伴可以參考下2023-08-08
詳解Python中asyncio.Queue長(zhǎng)連接服務(wù)的內(nèi)存泄漏問(wèn)題解決方法
這篇文章主要為大家詳細(xì)介紹了Python中asyncio.Queue長(zhǎng)連接服務(wù)的內(nèi)存泄漏問(wèn)題解決方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2026-05-05
使用Python實(shí)現(xiàn)監(jiān)聽html點(diǎn)擊事件教程
在Web開發(fā)中,經(jīng)常需要在用戶與頁(yè)面交互時(shí)執(zhí)行一些操作,本文將介紹如何使用Python來(lái)監(jiān)聽HTML點(diǎn)擊事件,有需要的小伙伴可以跟隨小編一起了解下2024-04-04
解決tensorflow測(cè)試模型時(shí)NotFoundError錯(cuò)誤的問(wèn)題
今天小編就為大家分享一篇解決tensorflow測(cè)試模型時(shí)NotFoundError錯(cuò)誤的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07

