is and ==

id()函數是查看該對象所在內存地址。每一個對象都有對應的內存地址,如:函數

is 用於判斷兩個變量引用對象是否爲同一個, == 用於判斷引用變量的值是否相等。相似於Java中的equal()和==。反之,is not 用於判斷兩個變量是否引用自不一樣的對象,而 != 用於判斷引用變量的值是否不等。測試

在上面的例子中,咱們分別打印了兩種運算符的比較結果和內存地址,因此能夠得出:code

  • 只要各對象的值同樣,則 x == y 的值必定爲True;
  • 若是對象的類型爲整數或字符串且值同樣,則 x == y和 x is y 的值爲True。(經測試浮點型數值,只有正浮點數符合這條規律,負浮點數不符合);
  • list,tuple,dict,set值同樣的話,x is y 則爲False;
  • x == y 與 x != y 的值相反,x is y 與 x is not y 的值相反。
相關文章
相關標籤/搜索