標籤:python 對象
‘==’的意思是判斷兩個對象的內容是否一樣,而‘is’則是判斷兩個對象是否為同一個對象。同樣的道理適用於‘!=’和‘is not’
例如:
>>> x = y = [1, 2, 3]>>> z = [1, 2, 3]>>> x == yTrue>>> x == zTrue>>> x is yTrue>>> x is zFalse>>> x.reverse()>>> x[3, 2, 1]>>> y[3, 2, 1]>>>
x與y實為同一對象,對x做了翻轉,y的值也是翻轉了的
而下面:
>>> a_list = ['xxx'] * 10>>> a_list['xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx']>>> a_list[0] = 'yyy'>>> a_list['yyy', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx', 'xxx']
>>> b_list = [['xxx']] * 10>>> b_list[['xxx'], ['xxx'], ['xxx'], ['xxx'], ['xxx'], ['xxx'], ['xxx'], ['xxx'], ['xxx'], ['xxx']]>>> b_list[0][0] = 'yyy'>>> b_list[['yyy'], ['yyy'], ['yyy'], ['yyy'], ['yyy'], ['yyy'], ['yyy'], ['yyy'], ['yyy'], ['yyy']]>>>
第一個a_list裡實為10個對象,修改了第一個字串那就是修改了第一個字串。
第二個b_list裡實際上就只有一個對象,引用了10次,所以改了b_list[0][0],所有值都變為‘yyy’了
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
python學習筆記——‘is’和‘==’的區別