python里传对象引用相当于传地址

python中[:]的含义(深拷贝与浅拷贝)

id()函数返回的是对象指向的内存地址

a=test表明是浅拷贝,a和test指向的还是同一片内存地址

b = test[:]则是深拷贝,相当于复制了一片内存地址,重新用变量b来指向这块新的内存地址

浅拷贝会发生的一个问题就是

python中[:]的含义(深拷贝与浅拷贝)

通过a修改了值的化,test也会变。可以用copy.copy或copy.deepcopy。

两者效率不一样,后者是用递归实现的,速度比copy.copy慢

 

 

 

相关文章:

  • 2022-01-09
  • 2022-01-14
  • 2021-11-27
  • 2022-01-21
  • 2021-05-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-26
  • 2021-07-24
  • 2021-11-03
  • 2022-01-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案