Middle+
Fale sobre o módulo copy em Python. Qual é a diferença entre copy e deepcopy?
sobes.tech IA
Resposta da IA
O módulo copy em Python fornece funções para criar cópias de objetos. Funções principais:
copy.copy(obj)— cópia superficial.copy.deepcopy(obj)— cópia profunda.
Diferença entre copy e deepcopy:
- A cópia superficial cria um novo objeto, mas os objetos aninhados dentro dele não são copiados, apenas referenciados pelos mesmos objetos do original.
- A cópia profunda recursivamente copia todos os objetos aninhados, criando uma cópia totalmente independente.
Exemplo:
import copy
original = [1, [2, 3]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)
original[1][0] = 'alterado'
print(shallow) # [1, ['alterado', 3]] — lista aninhada mudou
print(deep) # [1, [2, 3]] — cópia profunda não mudou