變數:id: 在記憶體中儲存的位置;id(a)
value: ==
type:變數的資料型別; type(a)
==: value, type
is: 三個都判斷
==:只判斷value和type,不判斷id
** a is b ====> true, a==b一定相等, 返回true;
** a==b ====> true, a is b 不一定;
pydev console: starting.
import sys; print('python %s on %s' % (sys.version, sys.platform))
sys.path.extend(['/root/pycharmprojects/day04'])
python 3.6.4 (default, aug 7 2018, 11:03:35)
[gcc 4.8.2 20140120 (red hat 4.8.2-16)] on linux
a = '1'
b = 1
a == b
false
a = '1'
b = a
a is b
true
li = [1,2,3]
li1 = li
li == li1
true
li is li1
true
li2 = li.copy()
id(li)
變數:id: 在記憶體中儲存的位置;id(a)
value: ==
type:變數的資料型別; type(a)
==: value, type
is: 三個都判斷
** a is b ====> true, a==b一定相等, 返回true;
** a==b ====> true, a is b 不一定;
pydev console: starting.
import sys; print('python %s on %s' % (sys.version, sys.platform))
sys.path.extend(['/root/pycharmprojects/day04'])
python 3.6.4 (default, aug 7 2018, 11:03:35)
[gcc 4.8.2 20140120 (red hat 4.8.2-16)] on linux
a = '1'
b = 1
a == b
false
a = '1'
b = a
a is b
true
li = [1,2,3]
li1 = li
li == li1
true
li is li1
true
li2 = li.copy()
id(li)
140479313773128
id(li2)
140479313773704 ##注意此時li2和li的type和value是一樣的,但id不同
li[1, 2, 3]
li2[1, 2, 3]
li == li2
true
li is li2
false
變數:id: 在記憶體中儲存的位置;id(a)
value: ==
type:變數的資料型別; type(a)
==: value, type
is: 三個都判斷
** a is b ====> true, a==b一定相等, 返回true;
** a==b ====> true, a is b 不一定;
Python之is和 的區別
比較的是兩個物件的value值的異同,只要值相同則返回true,並不關心是否是同乙個物件 id是否相同 is則直接比較物件,如果是同乙個物件 即物件的id相同 則返回true id 在記憶體中儲存的位置 type 變數的型別 value 變數的值 比較 type value is比較 type va...
Python之is和 的區別
1 python中物件的三個基本要素,分別是 id 身份標識 type 資料型別 和value 值 2 is和 都是對物件進行比較判斷作用的,但對物件比較判斷的內容並不相同。3 用來比較判斷兩個物件的value 值 是否相等 type和value is也被叫做同一性運算子,會判斷id是否相同 id,...
Python面試之 is 和 的區別
億貝軟體工程 上海 全棧工程師 關注他契卡 在讀笛卡爾的孟德 等 1,210 人贊同了該文章 面試實習生的時候,當問到 is 和 的區別時,很多同學都答不上來,搞不清兩者什麼時候返回一致,什麼時候返回不一致。本文我們來看一下這兩者的區別。我們先來看幾個例子 a hello b hello print...