1、对象的赋值
都是进行对象引用(内存地址)传递,即 b is a ,a 变 b也变
2、浅拷贝
会创建一个新的对象,对于对象中的元素,浅拷贝就只会使用原始元素的引用(内存地址)
当我们使用下面的操作时,会产生浅拷贝:
使用切片[:]操作
使用工厂函数(list/dir/set)
使用copy模块中的copy函数
3、深拷贝
会创建一个新的对象,并且对于对象中的元素,深拷贝都会重新生成一份(有特殊情况,下面会说明),而不是简单的使用原始元素的引用(内存地址)
拷贝的特殊情况:
对于非容器类型(如数字,字符串,和其他‘原子’类型的对象)没有拷贝这一说
如果元组变量只只包含原子类型对象,则不能深拷贝