python中引用和賦值的區(qū)別及說明
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]
引用類似于其他語言的“指針”。
通過引用,就可以在程序范圍內(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]
不過需要注意的是,這種賦值僅能做到頂層賦值,如果出現(xiàn)嵌套的情況下仍不能進(jìn)行深層賦值。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Scrapy 配置動(dòng)態(tài)代理IP的實(shí)現(xiàn)
這篇文章主要介紹了Scrapy 配置動(dòng)態(tài)代理IP的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09selenium+python自動(dòng)化78-autoit參數(shù)化與批量上傳功能的實(shí)現(xiàn)
這篇文章主要介紹了selenium+python自動(dòng)化78-autoit參數(shù)化與批量上傳,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Python自動(dòng)化辦公之郵件發(fā)送全過程詳解
這篇文章主要介紹了Python自動(dòng)化辦公之郵件發(fā)送全過程詳解,使用Python實(shí)現(xiàn)自動(dòng)化郵件發(fā)送,可以讓你擺脫繁瑣的重復(fù)性業(yè)務(wù),可以節(jié)省非常多的時(shí),下面我們就來看看具體的操作配置吧2022-01-01Python標(biāo)準(zhǔn)庫(kù)之日期、時(shí)間和日歷模塊
這篇文章介紹了Python標(biāo)準(zhǔn)庫(kù)之日期、時(shí)間和日歷模塊,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05Python連接數(shù)據(jù)庫(kù)并批量插入包含日期記錄的操作
這篇文章主要介紹了Python連接數(shù)據(jù)庫(kù)并批量插入包含日期記錄的操作,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06如何解決jupyter notebook無法導(dǎo)入自己安裝的包
這篇文章主要介紹了如何解決jupyter notebook無法導(dǎo)入自己安裝的包問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07關(guān)于Python中的 oct 函數(shù)與 min 函數(shù)
本文主要介紹了Python oct 函數(shù)與 min 函數(shù);oct 函數(shù)是 Python 內(nèi)置函數(shù),主要將一個(gè)整數(shù)轉(zhuǎn)為八進(jìn)制,與 ord 函數(shù) / chr 函數(shù) 有點(diǎn)類似;min 函數(shù)返回給定參數(shù)的最小值,參數(shù)可以為序列語法,感興趣的小伙伴請(qǐng)繼續(xù)閱讀下文2021-09-09python3.6利用pyinstall打包py為exe的操作實(shí)例
今天小編就為大家分享一篇python3.6利用pyinstall打包py為exe的操作實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10