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

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

黄舟
Libérer: 2017-08-13 09:56:30
original
1335 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal