深拷贝
深拷贝是对原对象的“复制以及粘贴”,其实就是在内存中重新开辟了一个新的内存空间来存放这一份数据,此时,两个变量仅仅是数据值相同而已,对两个变量的操作不会相互影响。
浅拷贝
在Python中进行数据的浅拷贝时,如果此时浅拷贝的数据是Python中的原子数据结构,比如str,int,float等不可变的原子数据结构。
那么在Python解释器中,会给新赋值的变量开辟一个新的内存空间,且新的内存空间中存放的值和浅拷贝的数据值一致,此时改变一个变量时不会对另一个造成影响。
当对一些可变对象,如列表,字典等进行浅拷贝时,此时其实是对可变对象的二次引用,并没有重新开辟新的内存空间。一个改变,另一个也会跟着变。
操作平台:
https://pythontutor.com