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方式复制的是浅拷贝,我也没有去看官方的文档,所以我从定夺,有资料的小伙伴可以发给我一下。