如何使用 Python 不等於和等於運算符
已發表: 2022-01-29在 Python 中,您可以使用不等於和等於運算符來檢查兩個 Python 對像是否具有相同的值。 本教程將通過大量示例代碼教您如何使用這些運算符。
在本教程中,您將學習:
- 不等於(
!=) 運算符和用例的語法, - 帶有示例的等號運算符 (
==) 的語法,以及 - 使用
is和is not運算符來檢查任何兩個 Python 對象的身份。
讓我們開始吧。
Python 不等於運算符語法
對於任何兩個 Python 對象obj1和obj2 ,使用不等於運算符的一般語法是:
<obj1> != <obj2>- 當
obj1和obj2的值不相等時返回True,並且 - 否則返回
False。
注意:如上所述,
obj1和obj2可以是整數、浮點數、字符串、列表等。
Python 不等於運算符代碼示例
在本節中,讓我們編寫一些示例來更好地理解不等於運算符。
使用 Python 不等於運算符進行比較
這是我們的第一個例子。
num1 = 27 num2 = 3*9 num1 != num2 # Output: False您可以直接從瀏覽器在 Geekflare Python IDE 上運行代碼示例。 或者您可以選擇在本地機器上運行。
由於num1 = 27並且num2的計算結果也為27 ( 3*9 = 27 ),因此num1和num2的值相等。 所以!=運算符返回False 。
讓我們再舉一個例子。
在下面的代碼中, num1設置為num2設置為字符串 7。由於它們的數據類型不同,不等於運算符返回True 。
num1 = 7 num2 = "7" num1 != num2 # Output: True您將字符串轉換為整數,如下所示:
num1 = 7 num2 = int("7") num1 != num2 # Output: False 在這種情況下,您可以看到返回的結果為False — 因為num1和num2現在等於整數 7。
您還可以將不等於運算符用於 Python 集合,例如列表、元組和集合。
注意:對於列表等數據集合,不等於運算符通過檢查單個項目的值來工作。 例如,兩個列表
list1和list2(每個長度為n)只有當list1[i] == list2[i]foriin{0,1,2,3,..n-1}時才相等。
這是一個例子:
list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True 在上面的示例中, list1和list2僅相差一個元素。 不等於!=運算符按預期返回True 。
在條件語句中使用 Python 不等於運算符
你會經常使用不等於運算符作為 Python 條件的一部分。
例如,下面的代碼片段顯示瞭如何檢查數字是否為奇數。
不能被 2 整除的數是奇數。 這減少到條件
num%2 != 0。
num = 7 if(num%2 != 0): print("The number is odd.") else: print("The number is even.") # Output: The number is odd. 當您只想保留那些滿足特定條件的列表元素時,您還可以在列表推導中使用條件。 在下面的示例中, odd_10是所有小於 10 的奇數的列表。
odd = [num for num in range(10) if num%2 != 0] print(odd) # Output: [1, 3, 5, 7, 9] 這就完成了我們對不等於 ( != ) 運算符的討論。
正如您現在可能已經猜到的那樣,等於運算符會產生與不等於運算符相反的效果。
您將在下一節中了解有關它的更多信息。
Python 等號運算符語法
這是使用 Python 的等於運算符的語法:
<obj1> == <obj2> #where <obj1> and <obj2> are valid Python objects- 當
obj1和obj2的值相等時返回True,並且 - 否則返回
False。
Python 等號運算符代碼示例
等於運算符 ( == ) 的使用與不等於運算符非常相似。
讓我們編寫以下示例:
- 檢查兩個字符串是否相等,
- 檢查一個數字是否是偶數,並且
- 在列表理解中使用條件
使用 Python 不等於運算符進行比較
在下面的代碼片段中, str1和str2的值相等。 所以等號運算符 ( == ) 返回True 。
str1 = "coding" str2 = "coding" str1 == str2 # Output: True 
現在讓我們在條件表達式中使用等號運算符。

注意:能被 2 整除的數是偶數。 在代碼中,這減少到條件
num%2 == 0
num = 10 if(num%2 == 0): print("The number is even.") else: print("The number is odd.") # Output: The number is even.現在讓我們以這個例子為基礎,使用 Python 的列表推導式來獲取所有小於 10 的偶數。
even_10 = [num for num in range(10) if num%2 == 0] print(even_10) # Output: [0, 2, 4, 6, 8]在上面的例子中,
-
range(10)返回一個範圍對象,可以循環獲取從 0 到 9 的所有整數。 - 條件
Truenum%2 == 0僅適用於偶數。 - 所以
even_10是所有小於 10 的偶數的列表。
到目前為止,您已經學習瞭如何使用不等於( != ) 和等於( == ) 運算符來檢查相等性。
在下一節中,您將學習如何驗證兩個對象的身份。 您將檢查兩個 Python 對像是否相同。
如何使用 Python 的 is 和 is not 運算符
如果您是 Python 編程的初學者,您可能會對==和is運算符感到困惑。 讓我們在本節中澄清這一點。
在上一節中,我們有一個示例,其中str1和str2相等且==運算符返回True 。
現在運行以下代碼片段。
str1 = "coding" str2 = "coding" str1 is str2 # Output: False 可以看到str1 is str2返回False 。
讓我們退後一步,了解 Python 的is運算符的作用。
is運算符對任意兩個 Python 對象進行操作。
並且僅當兩個對象相同時才返回True——即它們引用內存中的同一個對象。
即使str1等於str2 , str1也不是str2因為它們指向內存中的兩個不同對象。 因此,他們有不同的身份。

在 Python 中,您可以使用id()函數來獲取對象的標識。
運行以下代碼單元以獲取str1和str2的標識。
id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344 如您所見, str1和str2具有不同的標識。 並且str1 is str2按預期返回False 。
把它放在一起,
<obj1> is <obj2> # returns True if and only if id(<obj1>) == id(<obj2>) # returns True讓我們快速驗證一下,如圖所示:
str1 = "coding" str2 = str1 print(str1 is str2) print(id(str1) == id(str2)) # Output True True 直觀地說, is not運算符與is運算符相反。
is not運算符對任意兩個 Python 對象進行操作。
並且僅當兩個對象相同時才返回False——即它們引用內存中的同一個對象。 否則,它返回True。
在上面的代碼示例中,嘗試用is not替換is並檢查結果。
結論
希望本教程對您有所幫助。
總而言之,您學到了:
- 如何使用等於(
==) 和不等於(!=) 運算符來檢查兩個 Python 對像是否具有相同的值, - Python對象的相等性和同一性之間的區別,以及
- Python 的
is和is not運算符如何幫助檢查兩個 Python 對像是否相同。
在此處了解如何計算時差或在 python 中製作蛇遊戲。
下一篇教程見。 在那之前,快樂的學習和編碼!
