請描述一下淺拷貝(copy)和深拷貝(deepcopy)的差別,請用代碼舉例說明如何使用copy和deepcopy
'''
copy: 隻複制深層對象的引用
deepcopy: 複制深層對象的本身
'''
import copy
a = [1, 2, 3, 4, ['a', 'b']]
b = copy.copy(a) # 淺拷貝
c = copy.deepcopy(a) # 深拷貝
print(b)
print(c)
[1, 2, 3, 4, ['a', 'b']]
[1, 2, 3, 4, ['a', 'b']]
a.append(5)
print(a)
print(b)
print(c)
[1, 2, 3, 4, ['a', 'b'], 5]
[1, 2, 3, 4, ['a', 'b']]
[1, 2, 3, 4, ['a', 'b']]
a[4][0] = 'x'
print(a)
print(b)
print(c)
[1, 2, 3, 4, ['x', 'b'], 5]
[1, 2, 3, 4, ['x', 'b']]
[1, 2, 3, 4, ['a', 'b']]