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é