代码中设计到的copy模块,具体的应用
import copy
image = copy.deepcopy(ori_image) # 深复制
image = copy.copy(ori_image) # 浅复制
import copy
a = [1, 2, [‘a’, ‘b’]] # 原对象
b = a # 赋值,传引用
c = copy.copy(a) # 浅拷贝
d = copy.deepcopy(a) # 深拷贝
a.append(3) # 修改对象a
a[2][0] = 0 # 修改原对象列表元素中的第一个值
print( ‘原内容:’, a, ‘# 原对象修改后的值’)
print( ‘再赋值:’, b, ‘# 只是引用,就是原对象’)
print( ‘浅拷贝:’, c, ‘# 受到对象内部对象的变化,外部的不受影响’)
print( ‘深拷贝:’, d, ‘# 不受原对象的变化’)
‘’’
原内容: [1, 2, [0, ‘b’], 3] # 原对象修改后的值
再赋值: [1, 2, [0, ‘b’], 3] # 只是引用,就是原对象
浅拷贝: [1, 2, [0, ‘b’]] # 受到对象内部对象的变化,外部的不受影响
深拷贝: [1, 2, [‘a’, ‘b’]] # 不受原对象的变化
注:深拷贝完全不受原对象的变化