六张图了解Python的赋值、浅复制、深复制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kevin_zhao_zl/article/details/79937587

1.直接赋值

代码如下:


结果如下:


可知,直接赋值使得b和b中每一个元素的地址都与a相同,赋值号=只是把a的引用给了b,即b is a and b[i] is a[i]

2.浅复制

代码如下:


结果如下:


可知,浅复制使得b的地址和a的地址不相同,但是b中每个元素与a中每个元素的地址任然相同,即a is not b and a[i] is b[i]。其他实现浅复制的方法还有工厂函数和切片(b=a[:])

3.深复制

代码如下:


结果如下:


可知,深复制使得b和b中每一个元素的地址都与a不同,深复制是真正复制了一份完全不一样的副本,即a is not b and a[i] is not b[i]

猜你喜欢

转载自blog.csdn.net/kevin_zhao_zl/article/details/79937587
今日推荐