Maison > Article > développement back-end > Analyse sur la différence entre les opérateurs "==" et "is" en Python
Avant de parler de la différence entre les deux opérateursest et ==, il faut d'abord savoir ce qu'est l'objet en Python contient Les trois éléments de base sont : id (identité), python type() (type de données) et value (valeur). is et == sont tous deux utilisés pour comparer et juger des objets, mais le contenu de la comparaison d'objets est différent. Jetons un coup d'œil aux différences spécifiques.
Il existe deux méthodes en Python pour comparer si deux objets sont égaux. En termes simples, leurs différences sont les suivantes :est compare deux référencesQue ce soit. pointe vers le même objet (comparaison de référence).
== consiste à comparer si deux objets sont égaux.
>>> a = [1, 2, 3] >>> b = a >>> b is a # a的引用复制给b,他们在内存中其实是指向了用一个对象 True >>> b == a # 当然,他们的值也是相等的 True >>> b = a[:] # b通过a切片获得a的部分,这里的切片操作重新分配了对象, >>> b is a # 所以指向的不是同一个对象了 False >>> b == a # 但他们的值还是相等的 TrueLe principe de mise en œuvre est de comparer si les deux sont le même objet, donc ce qui est comparé est l'adresse mémoire (si l'identifiant est le même). == est une comparaison de valeurs. Les objets immuables, tels que int, str, compareront directement les valeurs. Pour les objets connus de Python, leur fonction eq
对象缓存机制Python mettra en cache des objets relativement petits. La prochaine fois qu'un objet relativement petit sera utilisé, il recherchera dans la zone de cache, s'il est trouvé, il n'ouvrira pas de nouvelle mémoire, mais continuera. pour mettre en cache le petit objet. L'adresse de l'objet reçoit la nouvelle valeur. Exemple :
>>> c = 1 >>> d = 1 >>> print(c is d) True >>> 1000 is 10**3 False >>> 1000 == 10**3 TrueL'affectation est calculée et n'utilise pas la zone tampon. Cela peut être vu dans le premier exemple de code. Pour
string, vous pouvez forcer l'utilisation du buffer en utilisant la fonction interne.
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!