python 直接赋值 深浅拷贝
1、直接赋值
默认浅拷贝传递对象的引用而已,原始列表改变,被赋值的b也会做相同的改变;
直接用等号赋值的话,python解析器机制可能是为了节省内存之类的会把指针指向同一个位置,也就是两个变量完全一样的,像取了一个别名。
例如:
![](https://img2020.cnblogs.com/blog/1087130/202008/1087130-20200802111057994-106702021.png)
2、copy浅拷贝
浅拷贝:拷贝父对象,不会拷贝对象内部的子对象。如果子对象发生变化,浅拷贝也是会跟着改变的。
例如:
![](https://img2020.cnblogs.com/blog/1087130/202008/1087130-20200802111228610-409874148.png)
3、深拷贝
深拷贝:完全拷贝父对象和子对象,原来的不管怎么变都和深拷贝后的内容没关系。
例如:
![](https://img2020.cnblogs.com/blog/1087130/202008/1087130-20200802111335408-967113193.png)
![](https://img2020.cnblogs.com/blog/1087130/202008/1087130-20200802111448127-1849155627.png)