快速报名
首页 / 实时动态 / 实时动态 / python深拷贝和浅拷贝的区别有哪几种?如何区分?

python深拷贝和浅拷贝的区别有哪几种?如何区分?

python中的深拷贝和浅拷贝和java里面的概念是一样的,所谓浅拷贝就是对引用的拷贝,所谓深拷贝就是对对象的资源的拷贝。
首先,对赋值操作我们要有以下认识:

1、赋值是将一个对象的地址赋值给一个变量,让变量指向该地址( 旧瓶装旧酒 )。
2、修改不可变对象(str、tuple)需要开辟新的空间
3、修改可变对象(list等)不需要开辟新的空间

浅拷贝,如果容器里面的项是引用,拷贝的就是引用,此引用指向相同的对象

深拷贝,如果容器里面的项是引用,拷贝的是引用所指向的对象、即创建新对象(若此对象是一个容器,里面的项是引用,递归上述操作)

抢先报名    优先占座