python的赋值、深拷贝与浅拷贝
2019-06-11 15:56
169 查看
#1、赋值:只拷贝了引用,原数据改变,被拷贝的所有数据也会跟着改变
#2、浅拷贝:只拷贝第一层,不拷贝子对象,所以原数据改变时,第一层数据不会改变,子对象的数据会改变
#3、深拷贝:拷贝所有的数据,所以原数据改变时,拷贝后的数据都不会改变
1、赋值
a=[1,2,3,6,45,[12,56,69]] b=a a.append('a') a[5].append('b') print(a) print(b) print('*****************************这是一段赋值******************************')
输出结果:
E:\install\python3.7.3\python.exe F:/pycharm_workspace/day01/copydemo.py
[1, 2, 3, 6, 45, [12, 56, 69, 'b'], 'a']
[1, 2, 3, 6, 45, [12, 56, 69, 'b'], 'a']
Process finished with exit code 0
2、浅拷贝
#2、浅拷贝 a=[1,2,3,6,45,[12,56,69]] b=copy.copy(a) a.append('a') a[5].append('b') print(a) print(b) print('*****************************这是一段浅拷贝******************************')
输出结果:E:\install\python3.7.3\python.exe F:/pycharm_workspace/day01/copydemo.py
[1, 2, 3, 6, 45, [12, 56, 69, 'b'], 'a']
[1, 2, 3, 6, 45, [12, 56, 69, 'b']]
*****************************这是一段浅拷贝******************************
3、深拷贝
##深拷贝 a=[1,2,3,6,45,[12,56,69]] b=copy.deepcopy(a) a.append('a') a[5].append('b') print(a) print(b) print('*****************************这是一段深拷贝******************************')
输出结果:E:\install\python3.7.3\python.exe F:/pycharm_workspace/day01/copydemo.py
[1, 2, 3, 6, 45, [12, 56, 69, 'b'], 'a']
[1, 2, 3, 6, 45, [12, 56, 69]]
*****************************这是一段深拷贝******************************
相关文章推荐
- python赋值、浅拷贝、深拷贝区别
- python 工程应用中常见的问题(全局变量;赋值、深拷贝与浅拷贝)
- Python——赋值与深浅拷贝
- Python中赋值、浅拷贝、深拷贝的区别。
- python 赋值、浅拷贝与深拷贝
- python的对象赋值、浅拷贝和深拷贝
- Python中的对象赋值与拷贝
- Python 赋值、浅拷贝和深度拷贝
- Python中的赋值,浅拷贝和深拷贝的区别
- python基础(5):深入理解 python 中的赋值、引用、拷贝、作用域
- python笔记6 - 序列,列表(生成,常用方法,运算,切片赋值),深拷贝和浅拷贝,列表推导式
- python 拷贝 深拷贝 浅拷贝 赋值
- python中的赋值、浅拷贝和深拷贝
- Python中赋值、浅拷贝与深拷贝
- 深入理解 python 中的赋值、引用、拷贝、作用域
- 深入理解 python 中的赋值、引用、拷贝、作用域
- Python学习笔记(5):赋值、浅拷贝、深拷贝
- Python 中赋值和分片拷贝的区别
- Python赋值、浅拷贝、深拷贝
- 深入理解 python 中的赋值、引用、拷贝、作用域