可以理解爲:淺拷貝就是對引用的拷貝,所謂深拷貝就是對對象的資源的拷貝。(類似java)
賦值操作的理解:
- 賦值是將一個對象的地址賦值給一個變量,讓變量指向該地址
- 修改不可變對象(str、tuple)需要開闢新的空間
- 修改可變對象(list等)不需要開闢新的空間
- b = a 與 b=a[:]的區別
- b=a 表示b引用a,則意味着b指向a的地址
- b=a[:] a[:]創建了一個a的副本,是一個深拷貝,則意味着b引用a的副本,b與a中元素的地址不同,只是值相同
例子:
a=[1,2,3] b=a b[:]=[x+1 for x in a] print a, b 輸出:[2, 3, 4] [2, 3, 4] b = [x-1 for x in a] print a,b 輸出:[2, 3, 4] [1, 2, 3]
python 深拷貝&淺拷貝
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
Python學習二:列表、循環、元組、字典
lit-ice
2020-07-08 11:00:43
Python學習一:變量與數據類型、表達式、條件語句
lit-ice
2020-07-08 11:00:42
Python學習六:web數據抓取與分析
lit-ice
2020-07-08 11:00:42
Python學習五:sqlite數據庫
lit-ice
2020-07-08 11:00:42
Python學習四:文件操作
lit-ice
2020-07-08 11:00:42
Python學習三:函數、導包、目錄(文件夾)管理
lit-ice
2020-07-08 11:00:42
python中的list,tuple,set,dict總結
伊直程序媛
2020-07-08 04:31:41
python中eval函數和exec函數的區別與聯繫
heavenmark
2020-07-07 18:08:31
jupyter 畫基礎圖
skn000
2020-07-07 11:59:12
Jupyter excel和csv數據導入
skn000
2020-07-07 11:59:12
Jupyter 缺失值處理
skn000
2020-07-07 11:59:12
改變jupyter的打開路徑
jupyter的原始打開路徑是C盤的用戶,如果想在其他路徑打開,將路徑複製成文本,打開cmd,輸入 jupyter notebook + 路徑,回車就行
skn000
2020-07-07 11:59:12
Appium+Python+selenium自動化測試環境搭建
Dawson_cai
2020-07-07 04:14:42
django + gunicorn + nginx 部署
枫华0925
2020-07-07 03:29:00