![]() |
1
52
A. Deep Copy 也会复制所有名单成员。
在pythonshell中运行它会得到以下脚本。我们可以看到 其状态通过旧列表通过引用更新,并且可以 通过旧列表访问对象时看到。最后,更改 新列表现在引用的是另一个对象。
|
![]() |
2
49
正如NXC所说,Python变量名实际上指向一个对象,而不是内存中的特定位置。
|
![]() |
3
12
正如已经回答的那样,我将简单地添加一个简单的演示:
|
![]() |
4
4
千万不要认为Python中的“a=b”意味着“将b复制到a”。如果两边都有变量,你就不可能真正知道这一点。相反,可以将其视为“给b额外的名称a”。 如果b是一个不可变的对象(如数字、元组或字符串),那么是的,其效果是得到一个副本。但那是因为当你处理不可变的(可能应该被称为 , 或 蠕虫 )你 如果b是可变的,那么 总是要做一些额外的事情,以确保你有一个真正的副本 . . 对于列表,它就像一个切片一样简单:a=b[:]。 可变性也是导致以下情况的原因:
... 并不像你想象的那样。
|
![]() |
5
-2
浅拷贝: (将内存块从一个位置复制到另一个位置)
深度复制: (复制对象引用)
|
![]() |
Naruto Biju Mode · 如何在java中正确执行深层和浅层拷贝 11 年前 |