# __author__: ZH
# date: 2018/4/27
# import this
"""
关于Python的浅拷贝和深拷贝 可以这样理解:
names_class1 = ['张三', '李四', '王五', '赵六', [1, 2, 3]]
浅拷贝其实就是只复制了list的第一层数据,像names_class1 这种index[4] 中还有可变类型的数据时,下一层的数据是做共享的
因此names_class1[4] 的指向是共享的。
"""
import copy
names_class1 = ['张三', '李四', '王五', '赵六', [1, 2, 3]]
names_class2 = names_class1.copy()
names_class2[4][0] = 4
names_class2[3] = '吴奇'
print(names_class1)
print(names_class2)
print(names_class1 is names_class2)
print(names_class1 == names_class2)
print("深拷贝↓和浅拷贝↑".center(40, "*"))
names_class3 = ['张三', '李四', '王五', '赵六', [1, 2, 3]]
names_class4 = copy.deepcopy(names_class3)
names_class3[4][0] = 4
print(names_class3)
print(names_class4)
print(names_class1 == names_class2)
关于Python的浅拷贝和深拷贝
最新推荐文章于 2023-10-23 15:25:15 发布