Question:

What Are The Different Methods Python Provides For Copying An Object?

Answer:

We can either use a “Shallow Copy” or follow a “Deep Copy” approach.

Shallow Copy Method.

The content of an object (say dictionary) doesn’t get copied by value but by creating a new reference.

>>> a = {1: [1,2,3]}
>>> b = a.copy()
>>> a, b
({1: [1, 2, 3]}, {1: [1, 2, 3]})
>>> a[1].append(4)
>>> a, b
({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]})

Deep Copy Method.

It copies all the contents by value.

>>> c = copy.deepcopy(a)
>>> a, c
({1: [1, 2, 3, 4]}, {1: [1, 2, 3, 4]})
>>> a[1].append(5)
>>> a, c
({1: [1, 2, 3, 4, 5]}, {1: [1, 2, 3, 4]})

 


Keywords:

© 2017 QuizBucket.org