淺拷貝和深拷貝的區(qū)別:
淺拷貝:創(chuàng)建一個(gè)新的組合對(duì)象伍绳,這個(gè)新對(duì)象與原對(duì)象共享內(nèi)存中的子對(duì)象。
深拷貝:創(chuàng)建一個(gè)新的組合對(duì)象,同時(shí)遞歸地拷貝所有子對(duì)象,新的組合對(duì)象與原對(duì)象沒(méi)有任何關(guān)聯(lián)买猖。雖然實(shí)際上會(huì)共享不可變的子對(duì)象,但不影響它們的相互獨(dú)立性滋尉。
常見的淺拷貝有:切片操作玉控、工廠函數(shù)、對(duì)象的copy()方法狮惜、copy模塊中的copy函數(shù)高诺。
深拷貝只有一種方式:copy模塊中的deepcopy函數(shù)。
淺拷貝和深拷貝的不同僅僅是對(duì)組合對(duì)象來(lái)說(shuō)碾篡,所謂的組合對(duì)象就是包含了其它對(duì)象的對(duì)象虱而,如列表,類實(shí)例耽梅。而對(duì)于數(shù)字薛窥、字符串以及其它“原子”類型,沒(méi)有拷貝一說(shuō),產(chǎn)生的都是原對(duì)象的引用诅迷。