Python技巧|Python中浅拷贝,深拷贝的区别

文摘   2023-04-12 21:42   河南  


深拷贝


深拷贝是对原对象的“复制以及粘贴”,其实就是在内存中重新开辟了一个新的内存空间来存放这一份数据,此时,两个变量仅仅是数据值相同而已,对两个变量的操作不会相互影响。


浅拷贝


在Python中进行数据的浅拷贝时,如果此时浅拷贝的数据是Python中的原子数据结构,比如str,int,float等不可变的原子数据结构。


那么在Python解释器中,会给新赋值的变量开辟一个新的内存空间,且新的内存空间中存放的值和浅拷贝的数据值一致,此时改变一个变量时不会对另一个造成影响。


当对一些可变对象,如列表,字典等进行浅拷贝时,此时其实是对可变对象的二次引用,并没有重新开辟新的内存空间。一个改变,另一个也会跟着变。





操作平台:

https://pythontutor.com











math and code
计算机专业研究生在读,拥有深厚的计算机科学和数学背景,对编程、算法、数据结构、深度学习等领域都有着深入的了解和实践经验。对编程语言的掌握熟练而全面,无论是主流的Python、Java,还是强大的C++、Go,都能轻松驾驭。