Python學(xué)習(xí)筆記(七)—Python中is和==(is not和!=)的區(qū)別

轉(zhuǎn)載請注明出處:http://www.reibang.com/p/7e51f9cc3c85
本文出自Shawpoo的簡書
我的博客:CSDN博客

【Python學(xué)習(xí)筆記專欄】:http://blog.csdn.net/column/details/17658.html

Python中有很多種運算符追逮,本文主要記錄一下is==這兩種運算符的區(qū)別:

id()函數(shù)是查看該對象所在內(nèi)存地址寞焙。每個對象都有對應(yīng)的內(nèi)存地址,如:

>>> id(1)
1543816880
>>> id("abc")
2880674151480
>>> id([1, 2, 3])
2880703493384

is 用于判斷兩個變量引用對象是否為同一個, == 用于判斷引用變量的值是否相等荧库。類似于Java中的equal()和==牢屋。反之谓传,is not 用于判斷兩個變量是否引用自不同的對象艳狐,而 != 用于判斷引用變量的值是否不等。

下面來幾個具體的例子:

  • 整數(shù)的比較:
x = 5
y = 5
print(x == y)
print(x is y)
print(id(x))
print(id(y))

執(zhí)行結(jié)果:
True
True
1543817008
1543817008
  • 字符串的比較:
x = "abc"
y = "abc"
print(x == y)
print(x is y)
print(id(x))
print(id(y))

執(zhí)行結(jié)果:
True
True
2039623802136
2039623802136
  • list(列表)的比較:
x = [1, 2, 3]
y = [1, 2, 3]
print(x == y)
print(x is y)
print(id(x))
print(id(y))

執(zhí)行結(jié)果:
True
False
2194144817928
2194144817288
  • tuple(元組)的比較:
x = (1, 2, 3)
y = (1, 2, 3)
print(x == y)
print(x is y)
print(id(x))
print(id(y))

執(zhí)行結(jié)果:
True
False
2699216284336
2699216284480
  • dict(字典)的比較:
x = {"id": 1, "name": "Tom", "age": 18}
y = {"id": 1, "name": "Tom", "age": 18}
print(x == y)
print(x is y)
print(id(x))
print(id(y))

執(zhí)行結(jié)果:
True
False
3005783112296
3005783112368
  • set(集合)的比較:
x = set([1, 2, 3])
y = set([1, 2, 3])
print(x == y)
print(x is y)
print(id(x))
print(id(y))

執(zhí)行結(jié)果:
True
False
2206005855176
2206006414696
  • 賦值后比較(符合所有數(shù)據(jù)類型)瘪菌,以list為例:
x = [1, 2, 3]
y = x
print(x == y)
print(x is y)
print(id(x))
print(id(y))

執(zhí)行結(jié)果:
True
True
2539215778568
2539215778568 

總結(jié)

在上面的例子中撒会,我們分別打印了兩種運算符的比較結(jié)果和內(nèi)存地址,所以可以得出:

  • 只要各對象的值一樣控嗜,則 x == y 的值一定為True茧彤;
  • 如果對象的類型為整數(shù)或字符串且值一樣,則 x == y和 x is y 的值為True疆栏。(經(jīng)測試浮點型數(shù)值曾掂,只有正浮點數(shù)符合這條規(guī)律,負浮點數(shù)不符合)壁顶;
  • list珠洗,tuple,dict若专,set值一樣的話许蓖,x is y 則為False;
  • x == y 與 x != y 的值相反调衰,x is y 與 x is not y 的值相反膊爪。

以上結(jié)論只針對對變量直接賦值或變量相互賦值后的比較,不針對兩個變量之間拷貝后在進行比較嚎莉。

后面會補充一篇Python中的淺拷貝和深拷貝米酬。(已更新Python中的賦值趋箩、淺拷貝和深拷貝(含圖))

其他閱讀

Python的運算符

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赃额,一起剝皮案震驚了整個濱河市加派,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌跳芳,老刑警劉巖芍锦,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異飞盆,居然都是意外死亡娄琉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門吓歇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來车胡,“玉大人,你說我怎么就攤上這事照瘾。” “怎么了丧慈?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵析命,是天一觀的道長。 經(jīng)常有香客問我逃默,道長鹃愤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任完域,我火速辦了婚禮软吐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吟税。我一直安慰自己凹耙,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布肠仪。 她就那樣靜靜地躺著肖抱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪异旧。 梳的紋絲不亂的頭發(fā)上意述,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音吮蛹,去河邊找鬼荤崇。 笑死,一個胖子當(dāng)著我的面吹牛潮针,可吹牛的內(nèi)容都是我干的术荤。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼然低,長吁一口氣:“原來是場噩夢啊……” “哼喜每!你這毒婦竟也來了务唐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤带兜,失蹤者是張志新(化名)和其女友劉穎枫笛,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體刚照,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡刑巧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了无畔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片啊楚。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖浑彰,靈堂內(nèi)的尸體忽然破棺而出恭理,到底是詐尸還是另有隱情,我是刑警寧澤郭变,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布颜价,位于F島的核電站,受9級特大地震影響诉濒,放射性物質(zhì)發(fā)生泄漏周伦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一未荒、第九天 我趴在偏房一處隱蔽的房頂上張望专挪。 院中可真熱鬧,春花似錦片排、人聲如沸寨腔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽脆侮。三九已至,卻和暖如春勇劣,著一層夾襖步出監(jiān)牢的瞬間靖避,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工比默, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留幻捏,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓命咐,卻偏偏與公主長得像篡九,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子醋奠,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容