Python中「is」和「 」的區別

2021-08-20 20:46:52 字數 637 閱讀 2113

python有兩個用於相等比較的運算子,「is」和「==」(等於)。在這篇文章中,我將帶你們了解python中「is」和「==」的區別,並通過幾個簡單地例子說明應該在什麼時候使用它們,我們先來看乙個情景:

當我還是乙個孩子的時候,我們的鄰居家有兩隻雙胞胎貓。

這兩隻貓看起來看起來完全一樣 - 同樣的木炭毛,同樣敏銳的綠眼睛。撇開一些個性怪癖,單從它們的外表根本無法區分它們。但他們確確實實是兩隻不同的貓,兩個不同的生物,儘管它們看起來完全一樣。

就如相等和相同在意思上是有差異的,理解這種差異對理解python中的操作符「is」和「==」是很重要的。

「==」更側重於檢測相等:如果這些貓是python物件,我們用「==」比較它們,我們會得到「兩隻貓是相等的」。

「is」側重於比較相同:如果我們用「is」比較它們,我們會得到「這是兩隻不同的貓」。

在我把所有的東西都用貓作為模擬之前,讓我們來看看一些真正的python**。

首先,我們將建立乙個新的列表物件並將其命名為a,然後定義另乙個變數b指向同一列表的物件:

shape \* mergeformat

我們來看看這兩個變數,我們可以看到它們指向相同的列表。

shape \* mergeformat

因為兩個列表物件看起來相同,所以當我們使用「=

Python中is和 的區別

python中的物件包含三要素 id type value。is判斷的是a物件是否就是b物件,是通過id來判斷的。也就是記憶體位址。其實本質就是判斷id a id b 當然也可以使用 判斷。但是必須是id a id b 而不是a b a 1,2,3 b 1,2,3 a is b false id a...

python中 is 和 的區別

python中的物件包含三要素 id type value 其中 id用來唯一標識乙個物件,type標識物件的型別,value是物件的值 is判斷的是a物件是否就是b物件,是通過id來判斷的 判斷的是a物件的值是否和b物件的值相等,是通過value來判斷的 最終取決於物件的 eq 方法,本質上兩個變...

Python中is和 的區別

is用於判斷兩個變數引用物件是否為同乙個,用於判斷引用變數的值是否相等。a is b 相當於 id a id b id 能夠獲取物件的記憶體位址。如果 a 10 b a 則此時 a 和 b 的記憶體位址一樣的 但當 a 1,2,3 另 b a 時,雖然 a 和 b 的值一樣,但記憶體位址不一樣。如果...