python is == 的区别

要点:
  is 判断是否是同一个对象。是通过id来判断的
    == 是通过值来判断的
    为了提高内存利用率对一些简单的对象,如一些数值较小的int对象,python采用重用对象内存的方法


例如指向a=2,b=2时,由于2作为简单的int类型且数值小,python不会两次为其分配内存,而是只分配一次,然后将a与b同时指向已分配的对象:
>>> a=2
>>> b=2
>>> a is b
True
>>> a == b
True


果赋值的不是2而是大的数值,情况就跟前面的一样了:

>>> a=5555
>>> b=5555
>>> a is b
False
>>> a == b
True
>>> id(a)
12464372
>>> id(b)
12464396
 
原文地址:https://www.cnblogs.com/i80386/p/3706847.html