Maison  >  Article  >  développement back-end  >  L'introduction secrète de Python à l'affectation de variables

L'introduction secrète de Python à l'affectation de variables

黄舟
黄舟original
2017-08-13 09:56:301285parcourir

En Python, lorsque l'on rend une variable égale à une autre variable, on ne lui transmet pas la valeur, mais on change directement l'adresse pointée. Si nous voulons vérifier l'adresse d'une variable en mémoire, nous pouvons la vérifier par id (variable). Jetons un coup d'œil à ce processus intéressant à travers un petit exemple.

>>> x = 12
>>> y= 13
>>> id(x)1865402384
>>> id(y)1865402416
>>> x = y>>> id(x)1865402416
>>> id(y)1865402416

Attribuez d'abord la valeur de la variable x à 12 et la valeur de la variable y à 13. Nous utilisons id (variable) pour afficher les emplacements de x et y en mémoire respectivement. L'affichage ci-dessus est respectivement 1865402384 et 1865402416. Ensuite, après avoir défini x = y, nous avons vérifié leurs emplacements en mémoire et avons constaté que x et y pointaient tous deux vers 1865402416. On peut voir qu'en python, la façon dont nous attribuons les valeurs est différente de celle du langage C. Le langage C modifie directement la valeur dans la mémoire de x, tandis que Python change directement le pointeur de x, ce qui me rappelle pointeurs.

Essayons et continuons à saisir le code suivant ici

>>> y = 12
>>> id(y)1865402384

Jour ! ce qui s'est passé? ? L'adresse de y dans la mémoire redevient 1865402384. Pour être précis, y pointe à nouveau vers la zone mémoire de 1865402384. Vu de cette façon, cela ressemble vraiment aux pointeurs du langage C.

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