Python中的對象包含三要素:id、type、value
其中id用來唯一標識一個對象,type標識對象的類型,value是對象的值
is判斷的是a對象是否就是b對象,是通過id來判斷的
==判斷的是a對象的值是否和b對象的值相等,是通過value來判斷的
python is主要是判斷2個變量是否引用的是同一個對象,如果是的話,則返回true,否則返回false
>>> a = '123'
>>> b = '123'
>>> a == b
True
>>> a is b
True
>>>
a is b 返回true,因為變量a和b都存儲了字符串'123'對象的地址。
>>> a = '123'
>>> b = '123456'
>>> a == b
False
>>> a is b
False
>>>
print a is c 返回false,因為變量a和c存儲了字符串對象地址不一致。
>>> a = 1
>>> b = 1.0
>>> a is b
False
>>> a == b
True
>>> id(a)
12777000
>>> id(b)
14986000
>>> a = 1
>>> b = 1
>>> a is b
True
>>> a == b
True
>>> id(a)
12777000
>>> id(b)
12777000