Python中,对象赋值实际上时简单的对象引用。
对一个对象进行 ++浅拷贝++ 其实是新创建了一个类型跟原对象一样,其内容是原来对象元素的引用。
序列类型对象的浅拷贝是默认类型拷贝,并可以通过以下几种方式实施:
- 完全切片操作 [:]
- 利用工厂函数,比如
list()、dict()等 - 使用
copy()模块的copy函数
完全拷贝或者说 ++深拷贝++ ,创建一个新的容器对象,包含原有对象元素(引用)全新拷贝的引用——需要 copy.deepcopy() 函数。
警示:
- 非容器类型(比如数字、字符串和其他‘原子’类型的对象,像代码、类型和xrange对象等)没有拷贝一说,浅拷贝是由完全切片操作来完成的
- 如果元组变量只包含++原子类型++对象,对它的深拷贝将不会进行。
本文详细解释了Python中对象拷贝的概念,包括浅拷贝与深拷贝的区别。介绍了序列类型对象的拷贝方法,如切片操作、工厂函数及copy模块的使用,并强调了非容器类型对象的拷贝特点。
1180

被折叠的 条评论
为什么被折叠?



