Python基礎系列-copy和deepcopy
版權宣告:如需轉載,請註明轉載地址。 https://blog.csdn.net/oJohnny123/article/details/81980698
#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
Created by liaoyangyang1 on 2018/8/23 下午1:41.
"""
# 簡單來說,就是copy出來的物件cp1,如果demo改了他會跟著改。但是deepcopy 出來的 cp2還是原來的值
import copy
demo2 = demo = [1, 2, [3, 4]] #origin 裡#邊有三個元素:1, 2,[3, 4]
cp1 = copy.copy(demo)
cp2 = copy.deepcopy(demo)
print(id(demo))
print(id(cp1))
print(id(cp2))
print(cp1)
print(cp2)
print(cp1 == cp2)
print(cp1 is cp2 )
print(cp1 is demo )
print(cp2 is demo )
print(demo2 is demo )
print(`=`*100)
#cp1 和 co2 看上去相同,但#已不再是同一個object
#把demo內的子list [3, 4] 改掉了#一個元素,觀察到 cp1 和 #cp2的變化如下所示:
demo2[2][0] = "hi"
demo =[1, 2, [`hi`, 4]]
print(cp1)
print(cp2)
相關文章
- copy& deepcopy pythonPython
- 『現學現忘』Docker基礎 — 38、COPY指令和ADD指令Docker
- IOS基礎:retain,copy,assign及autoreleaseiOSAI
- Go基礎系列:常量和變數Go變數
- Go基礎系列:defer、panic和recoverGo
- Gurobi基礎教程(Python版)-系列教程2Python
- Java基礎系列-Comparable和ComparatorJava
- 病毒基礎系列
- 【Python基礎】日期和時間Python
- Python基礎 - 檔案和流Python
- Python基礎篇-Python基礎01Python
- Java基礎系列-equals方法和hashCode方法Java
- (基礎系列)object clone 的用法、原理和用途Object
- 小白學python系列-(3)基礎數量型別Python型別
- 聊聊promise系列(基礎)Promise
- Java基礎系列-LambdaJava
- Java基礎系列-OptionalJava
- Java基礎系列-RandomAccessJavarandomMac
- Java基礎系列—字串Java字串
- python基礎之字串和編碼Python字串
- python基礎 (3)if 和 while的使用PythonWhile
- 二、python安裝和基礎使用Python
- python:類1——類和物件基礎Python物件
- Python基礎 - 縮排和選擇Python
- python基礎中的基礎Python
- Java基礎系列-靜態代理和動態代理Java
- Dagger 2 系列(四) -- 基礎篇:@Named 和 @Qualifier
- MongoDB入門系列(一):基礎概念和安裝MongoDB
- Java Web系列:JAAS認證和授權基礎JavaWeb
- Python基礎入門(8)- Python模組和包Python
- Python基礎筆記01-Python基礎Python筆記
- Python基礎入門_2基礎語法和變數型別Python變數型別
- 《大前端 基礎元件》系列 CSS基礎架構前端元件CSS架構
- python 基礎Python
- Python 基礎 (-)Python
- python基礎①Python
- python基礎Python
- Python基礎:語法基礎(3)Python