- 说明:深浅拷贝是针对可变元素(引用类型)而言的,不可变元素不存在深浅拷贝的问题
- 示例:
import copy # 值类型(不可变类型) a = 123 a2 = a a3 = copy.copy(a) a4 = copy.deepcopy(a) print(a is a2) print(a is a3) print(a is a4) # 引用类型(可变类型) b = [1, 2, [3, 4]] b2 = b # 浅拷贝:只拷贝对象本身,内部元素只拷贝引用 b3 = copy.copy(b) # 深拷贝:不但拷贝对象本身,还会拷贝内部元素 b4 = copy.deepcopy(b) print(b is b2) print(b is b3) print(b is b4) b[0] = 100 b[2][0] = 300 print(b2) print(b3) print(b4) c = [1, 2, [3, 4]] # 浅拷贝 d = c.copy() print(c is d) c[0] = 100 c[2][0] = 200 print(d)
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~