拷贝模块copy
作者:Shawn
python3.7
文档:
https://docs.python.org/3/library/copy.html
- Python的拷贝模块提供的功能不是很多,但不代表不重要.
copy
copy.copy(x)
- 返回一个浅拷贝.
deepcopy
copy.deepcopy(x)
- 返回一个深拷贝.
拷贝详解
- 拷贝操作直接影响到程序能否正确按照设计思路运行.
- 不正确的拷贝往往不报错,而这也是很多bug的原因.
- 这里直接提供一个直观的例子:
import copy
a = [1,2,3,4,['a','b']]
b = a # 赋值
c = a[:] # 浅拷贝
d = copy.copy(a) # 浅拷贝
e = copy.deepcopy(a) # 深拷贝
a.append(5)
a[4].append('c')
print('a=',a)
print('b=',b)