深浅拷贝
1.浅拷贝
-
浅拷贝是指创建一个新对象,并将原始对象的元素复制到新对象中
# num_list = [1, 2, [3, 4]] # # 使用浅拷贝创建拷贝对象 # copy_list = copy.copy(num_list) # # # 修改原对象中的可变数据类型 # num_list[2].append(5) # # print("原对象:", num_list) # [1,2,[3,4,5]] # print("拷贝对象:", copy_lsit)# [1,2,[3,4,5]] # 两个列表还是引用同一个内存地址,当num_list改变时,copy_list也随之改变
2.深拷贝
- 深拷贝是创建了一个新的对象,该对象与原对象完全独立
- 拷贝后我们对新对象和老对象进行内容修改,完全不会互相影响,因为他们各自独立
# num_list = [1, 2, [3, 4]]
# # 使用深拷贝创建拷贝对象
# copy_list = copy.deepcopy(num_list)
#
# # 修改原对象中的可变数据类型
# num_list[2].append(5)
# print("原对象:", num_list) # [1,2,[3,4,5]]
# print("拷贝对象:", copy_lsit)# [1,2,[3,4]]
# 深拷贝后copy_list申请了一块新的内存地址存放值,原列表更改和新列表没有关系,内存指向不一样了
标签:对象,list,num,深浅,print,拷贝,copy
From: https://www.cnblogs.com/Formerly/p/17880287.html