創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
創(chuàng)新互聯(lián)專注于本溪企業(yè)網(wǎng)站建設,響應式網(wǎng)站開發(fā),購物商城網(wǎng)站建設。本溪網(wǎng)站建設公司,為本溪等地區(qū)提供建站服務。全流程按需求定制制作,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務本篇文章給大家分享的是有關Python深淺拷貝以及應用場景,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
深淺拷貝用法來自copy模塊,首先要導入該模塊。
導入模塊:import copy
淺拷貝:copy.copy
深拷貝:copy.deepcopy
對于數(shù)字和字符串而言,賦值、淺拷貝和深拷貝無意義,因為其永遠指向同一個內(nèi)存地址。
字面理解:淺拷貝指僅僅拷貝數(shù)據(jù)集合的第一層數(shù)據(jù),深拷貝指拷貝數(shù)據(jù)集合的所有層。所以對于只有一層的數(shù)據(jù)集合來說深淺拷貝的意義是一樣的,比如字符串,數(shù)字,還有僅僅一層的字典、列表、元祖等.
字典(列表)的深淺拷貝
賦值:
import copy n1 = {'k1':'wu','k2':123,'k3':['alex',678]} n2 = n1
淺拷貝:
import copy n1 = {'k1':'wu','k2':123,'k3':['alex',678]} n3 = copy.copy(n1)
深拷貝:
import copy n1 = {'k1':'wu','k2':123,'k3':['alex',678]} n4 = copy.deepcopy(n1)
深拷貝的時候python將字典的所有數(shù)據(jù)在內(nèi)存中新建了一份,所以如果你修改新的模版的時候老模版不會變。相反,在淺copy 的時候,python僅僅將最外層的內(nèi)容在內(nèi)存中新建了一份出來,字典第二層的列表并沒有在內(nèi)存中新建,所以你修改了新模版,默認模版也被修改了。
以上就是Python深淺拷貝以及應用場景,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道。