深淺拷貝
物件參考、淺拷貝、深拷貝(拓展、難點、重點)
Python中,物件的賦值,拷貝(深/淺拷貝)之間是有差異的,如果使用的時候不注意,就可能產生意外的結果
其實這個是由于共享記憶體導致的結果
拷貝:原則上就是把資料分離出來,復制其資料,并以后修改互不影響,
先看一個非拷貝的例子
使用=賦值(物件參考)
=賦值:資料完全共享
=賦值是在記憶體中指向同一個物件,如果是可變(mutable)型別,比如串列,修改其中一個,另一個必定改變
如果是不可變型別 (immutable) ,比如字串,修改了其中一個,另一個并不會變
淺拷貝(copy)
淺拷貝:資料半共享(復制其資料獨立記憶體存放,但是只拷貝成功第一層)
深拷貝(deepcopy)
深拷貝:資料完全不共享(復制其資料完完全全放獨立的一個記憶體,完全拷貝,資料不共享)
深拷貝就是完完全全復制了一份,且資料不會互相影響,因為記憶體不共享,
深拷貝的方法有
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/45140.html
標籤:Python
上一篇:git上過濾一些編輯器生成的檔案
下一篇:20_專案開發規范
