Passage de variables par référence en Python
En Python, les variables contenant des objets complexes sont passées par référence. Cela signifie que toutes les modifications apportées à une variable se répercuteront sur la seconde. Et bien que ce type d'affectation de valeurs augmente le risque d'erreur, il permet en revanche d'économiser significativement les ressources de la mémoire système de l'OS.
Supposons que nous ayons deux listes :
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
Puisque la variable lst2 a reçu la valeur
de lst1, il n'y a maintenant qu'une seule liste
stockée dans la mémoire vive de l'ordinateur,
à laquelle deux variables font référence simultanément.
Modifions le premier élément de lst2
et affichons la première liste dans la console :
lst2[0] = '!'
print(lst1) # affichera ['!', 2, 3, 4, 5]
Quel sera le résultat de l'exécution du code suivant :
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst1)
Quel sera le résultat de l'exécution du code suivant :
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst2)
Quel sera le résultat de l'exécution du code suivant :
lst1 = ['a', 'b', 'c', 'd']
lst2 = lst1
lst3 = 'e'
lst2[2] = lst3
print(lst2)