When assigning values between objects in Python is passed by reference, the copy module in the standard library is required if the object needs to be copied.
1. Copy.copy a shallow copy copies only the parent object and does not copy the inner sub-objects of the object.
2. copy.deepcopy deep copy copy objects and their sub-objects
A good example:
Import Copy
A = [1, 2, 3, 4, [' A ', ' B ']] #原始对象
b = A #赋值, a reference to a passing object
c = Copy.copy (a) #对象拷贝, shallow copy
D = copy.deepcopy (a) #对象拷贝, deep copy
A.append (5) #修改对象a
A[4].append (' C ') #修改对象a中的 [' A ', ' B '] Array object
print ' A = ', a
print ' B = ', b
print ' c = ', C
print ' d = ', D
Output Result:
A = [1, 2, 3, 4, [' A ', ' B ', ' C '], 5]
b = [1, 2, 3, 4, [' A ', ' B ', ' C '], 5]
c = [1, 2, 3, 4, [' A ', ' B ', ' C ']]
D = [1, 2, 3, 4, [' A ', ' B ']]
Python Copy objects (deep copy deepcopy and shallow copy copy)