天天看點

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