Sobes.tech
Middle+

Parlez-moi du module copy en Python. Quelle est la différence entre copy et deepcopy?

sobes.tech IA

Réponse de l'IA

Le module copy en Python fournit des fonctions pour créer des copies d'objets. Fonctions principales :

  • copy.copy(obj) — copie superficielle.
  • copy.deepcopy(obj) — copie profonde.

Différence entre copy et deepcopy :

  • La copie superficielle crée un nouvel objet, mais les objets imbriqués à l'intérieur ne sont pas copiés, ils font simplement référence aux mêmes objets que dans l'original.
  • La copie profonde copie récursivement tous les objets imbriqués, créant une copie totalement indépendante.

Exemple :

import copy

original = [1, [2, 3]]
shallow = copy.copy(original)
deep = copy.deepcopy(original)

original[1][0] = 'changé'

print(shallow)  # [1, ['changé', 3]] — la liste imbriquée a changé
print(deep)     # [1, [2, 3]] — la copie profonde n'a pas changé