Python有兩個用于相等比較的運算符,“is”和“==”(等于)。在這篇文章中,我將教你們兩者之間的區別,以及通過幾個簡單地例子說明什么時候使用它們。
當我還是一個孩子的時候,我們的鄰居家有兩只雙胞胎貓。
這兩只貓看起來看起來完全一樣 - 同樣的木炭毛,同樣敏銳的綠眼睛。撇開一些個性怪癖,單從它們的外表根本無法區分它們。但他們確確實實是兩只不同的貓,兩個不同的生物,盡管它們看起來完全一樣。
就如相等和相同在意思上是有差異的,理解這種差異對理解Python中的操作符“is”和“==”是很重要的。
“==”更側重于檢測相等:如果這些貓是Python對象,我們用“==”比較它們,我們會得到“兩只貓是相等的”。
“is”側重于比較相同:如果我們用“is”比較它們,我們會得到“這是兩只不同的貓”。
在我把所有的東西都用貓作為類比之前,讓我們來看看一些真正的Python代碼。
首先,我們將創建一個新的列表對象并將其命名為a,然后定義另一個變量b指向同一列表的對象:

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

因為兩個列表對象看起來相同,所以當我們使用“==”運算符比較它們的相等性時,我們會得到預期的結果:

然而,這并沒有告訴我們a和b是否真的指向同一個對象。當然,我們知道它們是指向同一個對象的,因為我們之前給它們分配了相同的對象,但是假設我們不知道我們會發現什么?最后,如果你的時間不是很緊張,并且又想快速的提高,最重要的是不怕吃苦,建議你可以聯系維:762459510 ,那個真的很不錯,很多人進步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~
那么將兩個變量用“is”操作符進行比較,這會證明兩個變量是指向同一個列表對象的:

我們來看看當我們創建列表對象的相同副本時會發生什么,我們可以通過在現有列表上調用list來創建一個名為c的副本:

您將再次看到我們剛剛創建的新列表看起來與a和b指向的list對象相同:

這就是有趣的地方,如果我們使用“==”運算符來比較列表副本c和初始化列表a,您希望看到什么答案?

好吧,我希望這是您所期待的,這個結果告訴我們c和a有相同的內容,它們被Python認為是相等的,但它們是否指向同一個對象?我們來看看is操作符:

以上我們得到了不同的結果。Python告訴我們,c和a指向兩個不同的對象,盡管它們的內容是相同的。最后,如果你的時間不是很緊張,并且又想快速的提高,最重要的是不怕吃苦,建議你可以聯系維:762459510 ,那個真的很不錯,很多人進步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~
所以,回顧一下,我們區分“is”和“==”用以下兩個簡短的定義:
- 如果兩個變量指向同一個(相同的)對象,則“is”表達式為True。
- 如果變量所引用的對象是相等的(有相同的內容),則“==”表達式的值為True。
只要記住這個,當您需要在Python中使用is和==的時候,就會想到一對孿生的貓(狗也一樣),您就會知道該用哪個了。
到此這篇關于Python之is與==的區別詳解的文章就介紹到這了,更多相關Python之is與==的區別內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python中對象的比較操作==和is區別詳析
- Python‘==‘ 及 ‘is‘相關原理解析
- Python中的 is 和 == 以及字符串駐留機制詳解
- 詳解Python中is和==的區別
- Python中is和==的區別詳解
- python中字符串比較使用is、==和cmp()總結
- python中is與雙等于號“==”的區別示例詳解
- Python中的is和==比較兩個對象的兩種方法
- Python中關鍵字is與==的區別簡述
- Python中is與==的使用區別詳解