La différence entre
pythonis et ==:
is est utilisée pour déterminer deux références de variables Si les objets sont identiques, == est utilisé pour déterminer si les valeurs des variables de référence sont égales.
a is b est équivalent à id(a)==id(b), id() peut obtenir l'adresse mémoire de l'objet. (Apprentissage recommandé : Tutoriel vidéo Python)
Si a=10;b=a; alors les adresses mémoire de a et b sont les mêmes à ce moment ;
Mais quand a =[1,2,3]; When b=a[:], bien que les valeurs de a et b soient les mêmes, les adresses mémoire sont différentes.
Si vous définissez a=10, b=10 à ce moment, puis comparez a avec b, vous constaterez que le résultat renvoyé est True. C'est parce qu'un petit pool de mise en forme sera créé en Python avec. une plage de [ -5,256] pour ouvrir de l'espace mémoire pour ces entiers Lorsque des entiers compris dans cette plage sont définis dans le code, l'adresse mémoire ne sera pas réaffectée.
Et je l'ai testé dans Pycharm :
#coding=utf-8 a=100000000000; b=100000000000; print a is b
Le résultat :
True
Après avoir vérifié les informations, j'ai découvert : Pour des raisons de performances en Python, tout objet immuable dans le même bloc de code ne sera pas créé à plusieurs reprises s'il a la même valeur. Au lieu de cela, il fera directement référence à l'objet existant.
Pour plus d'articles techniques liés à Python, veuillez visiter la colonne Tutoriel Python pour apprendre !
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!