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:
ImportCopy
A= [1, 2, 3, 4, ['a', 'b']] #Original Object
b=a#assignment, a reference to a passing object
C=Copy.copy (a)#object Copy, shallow copy
D=Copy.deepcopy (a)#object Copy, deep copy
A.append (5) #Modify Object A
a[4].append ('C') #Modify the [' A ', ' B '] Array object in Object a
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 ']]