Python基础(深浅拷贝)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础(深浅拷贝)相关的知识,希望对你有一定的参考价值。

深、浅拷贝

基础:对象,引用,可变与可变

对于不可变的对象,如字符串、元组、数字深浅拷贝没有什么意义。

1、浅拷贝

浅拷贝只拷贝第一层对象(拷贝的实际是一个框子,拷贝过去的框子是不会变的,但是原先的框子里面有可变的对象,修改里面的框子是会发生变化的

>>> import copy
>>> a = [1,2,[1,2],3]
>>> b = copy.copy(a)

>>> b              #b拷贝的是a的第一层框子
[1, 2, [1, 2], 3]

>>> a.append(4)        #a对象发生了更改,b对象并没有发生了改变
>>> b                  
[1, 2, [1, 2], 3]

>>> a
[1, 2, [1, 2], 3, 4]

>>> a[2].append(3)
>>> a
[1, 2, [1, 2, 3], 3, 4] 

>>> b
[1, 2, [1, 2, 3], 3]
>>> 

 

以上是关于Python基础(深浅拷贝)的主要内容,如果未能解决你的问题,请参考以下文章

python基础--深浅拷贝函数

Python基础 | 深浅拷贝生成器迭代器以及装饰器详解

Python基础:深浅拷贝

015-python基础-深浅拷贝

python基础--深浅拷贝copy

python基础三(深浅拷贝)