python引用,浅拷贝,深拷贝
2017-09-18 20:38
176 查看
1.引用
传递的是引用,原始列表改变,被赋值列表会同样改变,因为他们指向的是同一个地址。
运行结果:
2.浅拷贝
copy浅拷贝,没有拷贝子对象,子对象改变时,会造成赋值的子对象也改变。
运行结果:
3.深拷贝
copy深拷贝,会拷贝子对象,原始子对象改变时,不会造成深拷贝的任何子元素改变。
运行结果:
传递的是引用,原始列表改变,被赋值列表会同样改变,因为他们指向的是同一个地址。
alist = [1,2,3,["a","b"]] blist = alist print(alist) print(blist) alist.append(5) print(alist) print(blist) alist[3].append(5) print(alist) print(blist)
运行结果:
2.浅拷贝
copy浅拷贝,没有拷贝子对象,子对象改变时,会造成赋值的子对象也改变。
import copy alist = [1,2,3,["a","b"]] blist = copy.copy(alist) print(alist) print(blist) alist.append(5) print(alist) print(blist) alist[3].append(5) print(alist) print(blist)
运行结果:
3.深拷贝
copy深拷贝,会拷贝子对象,原始子对象改变时,不会造成深拷贝的任何子元素改变。
import copy alist = [1,2,3,["a","b"]] blist = copy.deepcopy(alist) print(alist) print(blist) alist.append(5) print(alist) print(blist) alist[3].append(5) print(alist) print(blist)
运行结果:
相关文章推荐
- python中的对象拷贝示例 python引用传递
- python中的对象拷贝示例 python引用传递
- Python 浅拷贝 深拷贝 及引用机制
- Python 浅拷贝 深拷贝 及引用机制
- python的引用和浅拷贝和p深拷贝
- python引用,拷贝详解
- 深入理解 python 中的赋值、引用、拷贝、作用域
- Python的引用、浅拷贝、深拷贝的一个很好的小例子
- python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域
- Python里的拷贝【引用和copy(),deepcopy()的区别】
- python变量、引用、拷贝之间的关系
- Python中的引用和拷贝浅析
- python 深入理解 赋值、引用、拷贝、作用域
- python变量的拷贝与引用
- Python语言中的引用和拷贝
- python知识点1之引用、拷贝、函数参数传递、实例调用了类变量
- python 引用和拷贝
- python 引用和拷贝、重复
- python语法31[引用和拷贝]
- Python引用、浅拷贝、深拷贝 和 Numpy中的视图、副本 和 Python函数参数传递