Maison > développement back-end > Tutoriel Python > Les variables Python sont-elles des pointeurs ou des références ?

Les variables Python sont-elles des pointeurs ou des références ?

Mary-Kate Olsen
Libérer: 2024-12-05 05:20:09
original
523 Les gens l'ont consulté

Are Python Variables Pointers or References?

Les variables Python sont-elles des références ?

La notion selon laquelle "les variables en Python sont des pointeurs" peut être trompeuse. Pour clarifier ce malentendu, examinons deux exemples de code :

Exemple 1 :

i = 5
j = i
j = 3
print(i)
Copier après la connexion

Si les variables étaient des pointeurs, nous nous attendrions à ce que le résultat soit 3. Cependant , la sortie réelle est 5. En effet, les variables Python ne stockent pas la valeur réelle d'un objet mais plutôt une référence à it.

Exemple 2 :

i = [1,2,3]
j = i
i[0] = 5
print(j)
Copier après la connexion

Contrairement au premier exemple, le résultat ici est [5,2,3]. Cette fois, changer le premier élément de la liste liée à i affecte également la liste liée à j. En effet, i et j font référence au même objet de liste.

Que sont réellement les variables Python ?

Pour comprendre correctement les variables Python, nous devons les considérer comme références plutôt que des pointeurs. Lorsque nous attribuons une valeur à une variable, nous lions essentiellement cette variable à un objet particulier en mémoire.

La principale différence entre les références et les pointeurs est que les références ne peuvent pas être réaffectées pour pointer vers un objet différent. Au lieu de cela, ils restent liés en permanence à l'objet d'origine.

Dans les exemples ci-dessus, i et j sont des références aux objets int(5) et list([1,2,3]) d'origine, respectivement. Changer la valeur de i n'affecte pas j car ils font tous deux référence à des objets différents. Cependant, modifier la valeur d'un élément dans la liste affecte à la fois i et j car ils font tous deux référence au même objet de liste.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal