python中的深拷贝与浅拷贝

关于python的深拷贝和浅拷贝,首先来个官方的介绍:

 

 反正我看的不咋明白,来个实例解释一下吧!开干!!!!

import copy

a = ['a','b','c','d']  # 首先我们定义了一个我们用于操作的数组

b = a  # 此时进行深拷贝

print("这是a的地址" + str(id(a)))
print("这是b的地址" + str(id(b)))
print("a的地址是否和b一样呢?" + str(id(a) == id(b)))

c = copy.copy(a) #此时进行浅拷贝

print("这是a的地址" + str(id(a)))
print("这是c的地址" + str(id(c)))
print("a的地址是否和c一样呢?" + str(id(a) == id(c)))
#然并软貌似看不出啥东西来,你以为这就结束了?醒醒快开学了
#下面来个我的验证方法,网上有好多将这个深拷贝和浅拷贝的但是我没看懂


#进入正题
a.pop()#现在我移除一下a中的最后一个元素
print("a中的元素:"+str(a))
print("深拷贝b中的元素:"+str(b))
print("浅拷贝c中的元素:"+str(c))

运行结果:

 

 

网上有些资料说copy方式复制的是浅拷贝,我也没有去看官方的文档,所以我从定夺,有资料的小伙伴可以发给我一下。

posted @ 2020-06-05 13:19  小白打卡  阅读(291)  评论(1编辑  收藏  举报