Sobes.tech
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