1. Description du module copy
Le module de copy en Python est utilisé pour créer des copies superficielles et profondes d'objets. La fonction copy.copy() crée une copie superficielle d'un objet, tandis que la fonction copy.deepcopy() crée une copie complète d'un objet. Une copie superficielle crée un nouvel objet avec une référence aux données de l'objet d'origine, tandis qu'une copie complète crée un nouvel objet avec une copie des données de l'objet d'origine. Ceci est utile pour créer de nouvelles instances d'objets modifiables tels que des listes ou des dictionnaires sans affecter l'objet d'origine.
2. Exemples d'usage du module copy
Voici des exemples d'utilisation du module copy pour créer une copie superficielle d'une liste :
Exemple1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import copy original_list = [1, 2, 3, [4, 5]] shallow_copy = copy.copy(original_list) # Modification de la liste d'origine original_list[3].append(6) # Affichage de la liste originale et de la copie print("Liste originale: ", original_list) print("Copie superficielle: ", shallow_copy) #Sortie: Liste originale: [1, 2, 3, [4, 5, 6]] Copie superficielle: [1, 2, 3, [4, 5, 6]] |
Voici un exemple d'utilisation du module copy pour créer une copie profonde d'une liste :
Exemple2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import copy original_list = [1, 2, 3, [4, 5]] deep_copy = copy.deepcopy(original_list) # Modification de la liste d'origine original_list[3].append(6) # Affichage de la liste originale et de la copie print("Liste originale: ", original_list) print("Copie profonde: ", deep_copy) #Sortie: Liste originale: [1, 2, 3, [4, 5, 6]] Copie profonde: [1, 2, 3, [4, 5]] |
On peut voir que lorsque nous avons modifié la liste originale dans le premier exemple, la copie superficielle a également été modifiée, car la copie ne contient qu'une référence aux données originales, tandis que dans le deuxième exemple, la copie profonde n'a pas été modifiée, car elle contient une nouvelle instance des données.
Younes Derfoufi
CRMEF OUJDA
1 thought on “Le module copy python”