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