Python基礎系列 copy和deepcopy

2021-08-25 14:14:22 字數 805 閱讀 8702

#!/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)

Python基礎系列 copy和deepcopy

usr bin python coding utf 8 created by liaoyangyang1 on 2018 8 23 下午1 41.簡單來說,就是copy出來的物件cp1,如果demo改了他會跟著改。但是deepcopy 出來的 cp2還是原來的值 import copy demo2 ...

python基礎 深淺拷貝copy

拷貝是音譯的詞,其實他是從copy這個英文單詞音譯過來的,那什麼是copy?copy其實就是複製乙份,也就是所謂的抄乙份。深淺copy其實就是完全複製乙份,和部分複製乙份的意思。1.賦值運算 1 l1 1,2,3,barry alex 2 l2 l1 34 l1 0 111 5 print l1 1...

python基礎 深淺copy(重點)

在此申明一下,部落格參照了自己做了部分的改動 先問問大家,什麼是拷貝?拷貝是音譯的詞,其實他是從copy這個英文單詞音譯過來的,那什麼是copy?copy其實就是複製乙份,也就是所謂的抄乙份。深淺copy其實就是完全複製乙份,和部分複製乙份的意思。賦值是直接指向的是同乙份的位址。l1 1,2,3,z...