Maison >développement back-end >Tutoriel Python >Variables Python : pointeurs ou références ?
Repenser les variables Python : pointeurs ou références ?
Dans le monde de la programmation Python, les variables ont souvent été décrites comme des « pointeurs ». Cependant, cela soulève des questions sur le comportement de ces variables. Considérez les extraits de code suivants :
i = 5 j = i j = 3 print(i)
Sur la base de l'hypothèse du "pointeur", on pourrait s'attendre à ce que j'aie une valeur de 3 après l'exécution du code. Cependant, le résultat réel est 5.
Que se passe-t-il ?
Comprendre les références Python
En Python, les variables n'agissent pas comme des pointeurs. Au lieu de cela, ils fonctionnent comme des références. Une référence connecte une variable à un objet. Lorsque vous affectez une variable à une autre variable, vous créez une référence au même objet.
Cela signifie que dans le premier extrait de code, i et j sont des références au même objet entier (int(5)) . Lorsque la valeur de j est modifiée en 3, un nouvel objet entier (int(3)) est créé et j devient une référence à celui-ci. Cependant, i reste une référence à l'objet entier d'origine int(5).
Le deuxième extrait de code illustre ce comportement avec une liste :
i = [1,2,3] j = i i[0] = 5 print(j)
Dans ce cas, i et j sont les deux références au même objet de liste. Lorsque i[0] est modifié, l'objet liste lui-même est modifié, donc i et j font toujours référence à la même liste.
Conclusion
Les variables Python ne sont pas des pointeurs , mais plutôt des références. Ils établissent des connexions avec des objets et lorsque la valeur d'une variable est modifiée, cela affecte l'objet lui-même. Cela explique les résultats inattendus observés dans les extraits de code et constitue un concept fondamental pour comprendre le comportement des variables de 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!