Python:创建对象中的引用和拷贝
2018-01-04 20:26
399 查看
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对象仍然不变
相关文章推荐
- Python:创建对象中的引用和拷贝
- python数字类型介绍以及创建数字值对象引用、删除数字值引用操作实例
- python赋值和拷贝----一切皆对象,参数皆引用
- python3的对象引用、浅拷贝与深拷贝
- python 引用,拷贝,对象回收,弱引用
- python数字类型介绍以及创建数字值对象引用、删除数字值引用操作实例
- Python 初体验之 对象的引用和拷贝
- python中的对象拷贝示例 python引用传递
- python赋值和拷贝----一切皆对象,参数皆引用
- python中的对象拷贝示例 python引用传递
- Python 对象的引用计数和拷贝
- python数字类型介绍以及创建数字值对象引用、删除数字值引用操作实例
- Python3.X基础语法(数据类型/对象引用/组合数据类型/逻辑操作符/控制流语句/算数操作符/输入输出/函数创建和引用)001
- Python中的可变,不可变对象;值类型,引用类型;浅拷贝,深拷贝理解
- python赋值和拷贝----一切皆对象,参数皆引用
- python赋值和拷贝----一切皆对象,参数皆引用
- Python中的对象引用、浅拷贝与深拷贝
- 【Python】对象拷贝、对象传参、对象引用
- python 对象拷贝——浅拷贝和深拷贝 之函数传递——值传递还是引用传递?
- javascript拷贝创建对象