Lors de l'attribution de valeurs entre objets en Python, elles sont transmises par référence. Si vous devez copier un objet, vous devez utiliser le module de copie de la bibliothèque standard.
1. copy.copy copier superficiel copie uniquement l'objet parent et ne copie pas les objets enfants internes de l'objet.
2. copy.deepcopy copie profonde copie l'objet et ses sous-objets
Un bon exemple :
import copie
a = [1, 2, 3, 4, ['a', 'b']] #Objet original
b =a # Affectation, passage de la référence de l'objet
c = copy.copy( a) #Copie d'objet, copie superficielle
d = copy.deepcopy(a) #Copie d'objet, copie profonde
a. append(5) #Modifier l'objet a
a[4].append('c') #Modifier l'objet tableau ['a', 'b'] dans l'objet a
imprimer 'a = ', a
imprimer 'b = ', b
imprimer 'c = ', c
imprimer 'd = ', d
Résultat de sortie :
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']]
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!