Python其他
Python中的浅拷贝、深拷贝以及直接赋值
Python中的浅拷贝、深拷贝以及引用,没有弄懂浅拷贝、深拷贝,在实际运用中,可能会出现意想不到的效果。
:其实就是对象的引用(别名)。 :拷贝父对象,不会拷贝对象的内部的子对象。 : 模块的 方法,完全拷贝了父对象及其子对象。
直接赋值实例:
a = {1:[1,2,3]} b = a a[1].append(4) print(a) # {1: [1, 2, 3, 4]} print(b) # {1: [1, 2, 3, 4]}
浅拷贝实例:
a = {1:[1,2,3,4]} b = a.copy() a[1].append(4) print(a) # {1: [1, 2, 3, 4]} print(b) # {1: [1, 2, 3, 4]}
深拷贝实例:
import copy a = {1:[1,2,3]} b = copy.deepcopy(a) a[1].append(4) print(a) # {1: [1, 2, 3, 4]} print(b) # {1: [1, 2, 3]}
图解说明:
最后修改:2021-11-08 10:09:49