Maison >développement back-end >Tutoriel Python >Variables Python : références ou pointeurs ?

Variables Python : références ou pointeurs ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-04 17:40:12534parcourir

Python Variables: References or Pointers?

Comprendre les variables Python : références et pointeurs

On suppose généralement que les variables en Python sont uniquement des pointeurs. Cependant, une compréhension plus approfondie révèle que cela n'est pas tout à fait exact.

Considérez l'extrait de code suivant :

i = 5
j = i
j = 3
print(i)

En partant de l'hypothèse que les variables sont des pointeurs, on pourrait s'attendre à ce que le résultat soit 3, en supposant que le pointeur stocké dans j a été réaffecté. Cependant, le résultat réel est 5.

Pour résoudre cet écart, il est crucial de reconnaître que les variables en Python ne sont pas des pointeurs au sens traditionnel. Au lieu de cela, ils servent de références à des objets en mémoire.

Références en Python

Une référence est un emplacement mémoire qui pointe vers un objet. Dans le cas de types de données primitifs comme les entiers (par exemple, i = 5), la variable stocke la valeur réelle. Cependant, pour les objets mutables comme les listes (par exemple, i = [1,2,3]), la variable stocke une référence à l'objet en mémoire.

Comportement basé sur le type d'objet

Lorsqu'une nouvelle variable (par exemple, j) se voit attribuer une référence à une variable existante (par exemple, i), les deux variables pointent vers le même objet sous-jacent. Les modifications apportées via l'une ou l'autre variable sont reflétées dans les deux.

Exemple avec des listes

Considérez l'extrait de code :

i = [1,2,3]
j = i
i[0] = 5
print(j)

Dans ce cas, le la sortie est [5,2,3]. Cela démontre que lorsque l'élément de liste à l'index 0 est modifié via i, le changement se reflète également dans j puisqu'ils font tous deux référence à la même liste.

Conclusion

Les variables en Python fonctionnent comme des références plutôt que comme des pointeurs. Ils permettent à plusieurs variables de pointer vers le même objet, permettant le partage de données et une utilisation efficace de la mémoire. Comprendre ce concept est essentiel pour une programmation efficace en Python.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn