https://www.jianshu.com/p/efa9dd51f5cc
本文介绍了对象的赋值和拷贝,以及它们之间的差异:
- Python中对象的赋值都是进行对象引用(内存地址)传递
- 使用copy.copy(),可以进行对象的浅拷贝,它复制了对象,但对于对象中的元素,依然使用原始的引用.
- 如果需要复制一个容器对象,以及它里面的所有元素(包含元素的子元素),可以使用copy.deepcopy()进行深拷贝
- 对于非容器类型(如数字、字符串、和其他'原子'类型的对象)没有被拷贝一说
- 如果元祖变量只包含原子类型对象,则不能深拷贝,看下面的例子