您的位置:首页 > 编程语言 > Python开发

Python:创建对象中的引用和拷贝

2018-01-04 20:26 459 查看
a=[1,2,3]
b=a  #b是a的一个引用
b=a[:] #b是a中所有元素的一个拷贝


做出如下操作

情况1:使用b=a引用

a=[1,2,3]
b=a
a[0]='qq'
print(a)
print(b)  #由于b是a的引用,对于a的修改也是对b的修改,a和b结果相同

del a
print(a)
print(b) #a对象被删除,而b对象仍然不变


主要是因为:

del a 删除列表对象的引用(删除的仅仅是引用计数,直到引用计数=0时,才不存在)

del a[:] 删除列表对象中的所有元素

情况2:使用b=a[:]拷贝

a=[1,2,3]
b=a[:]
a[0]='qq'
print(a)
print(b)  # b=[1,2,3] a= ['qq',2,3]
#这是因为b仅仅是a中元素的拷贝,除了元素相同之外,没有任何关系,对于a的任何操作不影响b

del a
print(a)
print(b) #a对象被删除,而b对象仍然不变
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: