Junior — Middle
Explain the principle of data copying operation in programming.
sobes.tech AI
Answer from AI
Data copying operation in programming involves creating a new object or variable containing the same data as the original object. In Python, this can be a simple assignment for immutable types (such as numbers or strings), but for mutable objects (lists, dictionaries), it is important to understand the difference between shallow and deep copying.
- Shallow copy creates a new object, but nested objects within it remain references to the original. This means changes in nested objects will reflect in both copies.
- Deep copy creates a completely independent copy of the object and all nested objects.
Example using the copy module:
import copy
original = [[1, 2], [3, 4]]
shallow_copy = copy.copy(original)
deep_copy = copy.deepcopy(original)
shallow_copy[0][0] = 100
print(original) # [[100, 2], [3, 4]] - changed due to shallow copying
print(deep_copy) # [[1, 2], [3, 4]] - remains unchanged
Thus, the copying operation depends on the data type and how independent the copy should be.