Junior — Middle
Por que é importante usar cópia profunda de objetos na programação?
sobes.tech IA
Resposta da IA
A cópia profunda de objetos é importante quando precisa criar uma cópia totalmente independente de um objeto complexo, incluindo todos os objetos e estruturas de dados aninhados. A cópia superficial copia apenas o nível superior, deixando os objetos aninhados compartilhados entre as cópias, o que pode levar a mudanças inesperadas e erros.
Por exemplo, se tiver uma lista de listas e fizer uma cópia superficial, alterar a lista aninhada na cópia afetará a original. A cópia profunda resolve esse problema criando objetos aninhados independentes.
Em Python, usa-se o módulo copy e a função deepcopy para fazer cópias profundas:
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]] - a original mudou
deep_copy[1][1] = 200
print(original) # [[100, 2], [3, 4]] - a original não mudou