is 與 == 區別 :python
is 用於判斷兩個變量引用對象是否爲同一個,就是所引用的對象的內存地址是否一致
== 用於判斷引用變量的值是否相等。只判斷值和數據類型ide
id():在內存中存儲的位置
type:變量的類型
value:變量的值
==:type value
is:type value id對象
a = '1'
b = a
a is b
True
a
'1'
b
'1'
id(a)
140325344997424
id(b)
140325344997424blogb
[1, 2, 3]
a
[1, 2, 3] # a 和 b 都是一個列表 而且元素都想共同
type(a)
<type 'list'>
type(b)
<type 'list'> # 數據類型相同
id(a)
140332022852640
id(b)
140332022967184 # 可是所指向的內存地址不一樣
a is b # 致使a is b 返回的是 False
False
a == b # 可是兩個變量的數值以及數據類型一致 此時a ==b 返回True
True 內存