-
Affectation directe :Il s'agit essentiellement d'une référence (alias) à l'objet.
-
Copie superficielle :Copie l'objet parent, mais ne copie pas les objets enfants internes de l'objet.
-
Copie profonde :La méthode deepcopy du module copy copie entièrement l'objet parent et ses objets enfants.
Exemple de copie superficielle de dictionnaire
Exemple
La copie profonde nécessite d'importer le module copy :
Exemple
Analyse
1, b = a: Affectation par référence — a et b pointent tous les deux vers le même objet.

2、b = a.copy():Copie superficielle — a et b sont des objets indépendants, mais leurs objets enfants pointent toujours vers le même objet (ce sont des références).

b = copy.deepcopy(a):Copie profonde — a et b copient entièrement l'objet parent et ses objets enfants, et les deux sont complètement indépendants.

Plus d’exemples
Les exemples suivants utilisent copy.copy (copie superficielle) et copy.deepcopy (copie profonde) du module copy :
Exemple
La sortie de l'exemple ci-dessus est :
('a = ', [1, 2, 3, 4, ['a', 'b', 'c'], 5])
('b = ', [1, 2, 3, 4, ['a', 'b', 'c'], 5])
('c = ', [1, 2, 3, 4, ['a', 'b', 'c']])
('d = ', [1, 2, 3, 4, ['a', 'b']])