Python 深拷贝|浅拷贝|赋值

python的深拷贝与浅拷贝

定义

直接赋值,浅拷贝,深拷贝


直接赋值:其实就是对象的引用(别名)。

浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。

深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。复制整个依赖的变量。

可变数据类型 和 不可变数据类型


不可变数据类型: 当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。

可变数据类型    :当该数据类型的对应变量的值发生了改变,那么它对应的内存地址不发生改变,对于这种数据类型,就称可变数据类型。

代码

import copy

a = 15						    # 不可变数据类型
b = 20
c = 30
list0 = [1, 2, 3]
list1 = [a, b, c, 1, 3, 10, list0]               # 可变数据类型

list2 = list1					    # 复制
copy_list = copy.copy(list1) 		            # 浅拷贝
deep_list = copy.deepcopy(list1)  	           # 深拷贝

图解

posted @ 2020-11-28 16:54  隔江千万里  阅读(123)  评论(0)    收藏  举报