Maison > Article > développement back-end > Explication détaillée des méthodes is et == pour comparer deux objets en Python
Cet article présente principalement les informations pertinentes sur les deux méthodes de comparaison de deux objets, is et == en Python. J'espère que cet article pourra aider tout le monde. Les amis dans le besoin pourront s'y référer
. Is et == en Python sont deux façons de comparer deux objets
En Python, il existe deux façons de comparer si deux objets sont égaux, à savoir is et ==, entre les deux est différent
== compare les valeurs (comme la méthode égale en java)
est compare les références (peut être vu comme Comparer les adresses mémoire, similaire à = = en java)
pour :
>>> n = 1 >>> n is 1 True >>> b = '1' >>> b is 1 False >>> n == b False
en raison de 1 et '1' C'est différent s'il s'agit d'un valeur ou une référence, donc le résultat est faux
Pour :
>>> n = 1 >>> n is 1 True
Voici un point de connaissance, simplement On dit que pour les types primitifs Comme les entiers, la comparaison de références est une comparaison de valeurs.Cependant, Python adopte cette méthode pour implémenter les nombres entiers entre -5 et 256, un tableau est réservé en mémoire pour stocker ces nombres directement lors de la première utilisation. Pour les nombres en dehors de cette plage, un nouvel objet int sera créé
Prenons un exemple simple, comme indiqué dans le code suivant :
#a和b的值超出256 >>> a = 257 >>> b = 257 >>> a is b False #a和b的值在-5和256之间 >>> a = 256 >>> b = 256 >>> a is b True
Comme le montre l'exemple ci-dessus, tant qu'il s'agit d'un entier compris entre -5 et 256, python n'initialisera pas de nouvel espace mémoire pour la variable, mais une fois qu'il dépasse 256, un nouvel espace sera alloué.
Vous pouvez également voir directement la différence dans les adresses mémoire des deux objets en imprimant les identifiants des deux objets, comme indiqué ci-dessous :
#a和b的值超出256 >>> a = 257 >>> b = 257 >>> >>> >>> id(a) 140638347685960 >>> id(b) 140638347686008 #a和b的值在-5和256之间 >>> a = 256 >>> b = 256 >>> id(a) 140638347656864 >>> id(b) 140638347656864
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!