= 赋值:内存中只存在一个
a1指向了内存,a1相当于对内存中该对象的引用。
直接把该引用赋值对b1,相当于b1直接指向内存对象
a1 = [1, 2, 3, ["a", "b"]]
b1 = a1
拷贝 : 内存中存在两个
浅拷贝
浅拷贝只拷贝原本各元素在内存中的地址:
- 当子元素为可变对象时,如列表。则原副本皆可修改
-
当子元素为不可变对象时,如字符串。则原副本的修改皆会让其放弃原来指向的内存地址,指向其他
浅拷贝只拷贝内存的地址
深拷贝
深拷贝对于不可变元素,和浅拷贝相同,拷贝引用
对于可变元素,深拷贝和复制一份,原副本对可变元素的修改皆不会影响另外一个
深拷贝
网友评论