如何使用 Python 不等於和等於運算符

已發表: 2022-01-29

在 Python 中,您可以使用不等於等於運算符來檢查兩個 Python 對像是否具有相同的值。 本教程將通過大量示例代碼教您如何使用這些運算符。

在本教程中,您將學習:

  • 不等於( != ) 運算符和用例的語法,
  • 帶有示例的等號運算符 ( == ) 的語法,以及
  • 使用isis not運算符來檢查任何兩個 Python 對象的身份。

讓我們開始吧。

Python 不等於運算符語法

對於任何兩個 Python 對象obj1obj2 ,使用不等於運算符的一般語法是:

 <obj1> != <obj2>
  • obj1obj2的值不相等時返回True ,並且
  • 否則返回False

注意:如上所述, obj1obj2可以是整數、浮點數、字符串、列表等。

Python 不等於運算符代碼示例

在本節中,讓我們編寫一些示例來更好地理解不等於運算符。

使用 Python 不等於運算符進行比較

這是我們的第一個例子。

 num1 = 27 num2 = 3*9 num1 != num2 # Output: False

您可以直接從瀏覽器在 Geekflare Python IDE 上運行代碼示例。 或者您可以選擇在本地機器上運行。

由於num1 = 27並且num2的計算結果也為27 ( 3*9 = 27 ),因此num1num2的值相等。 所以!=運算符返回False

讓我們再舉一個例子。

在下面的代碼中, num1設置為num2設置為字符串 7。由於它們的數據類型不同,不等於運算符返回True

 num1 = 7 num2 = "7" num1 != num2 # Output: True

您將字符串轉換為整數,如下所示:

 num1 = 7 num2 = int("7") num1 != num2 # Output: False

在這種情況下,您可以看到返回的結果為False — 因為num1num2現在等於整數 7。

您還可以將不等於運算符用於 Python 集合,例如列表、元組和集合。

注意:對於列表等數據集合,不等於運算符通過檢查單個項目的值來工作。 例如,兩個列表list1list2 (每個長度為n )只有當list1[i] == list2[i] for i in {0,1,2,3,..n-1}時才相等。

這是一個例子:

 list1 = [2,4,6,8] list2 = [2,4,6,9] list1 != list2 # Output: True

在上面的示例中, list1list2僅相差一個元素。 不等於!=運算符按預期返回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
  • obj1obj2的值相等時返回True ,並且
  • 否則返回False

Python 等號運算符代碼示例

等於運算符 ( == ) 的使用與不等於運算符非常相似。

讓我們編寫以下示例:

  • 檢查兩個字符串是否相等,
  • 檢查一個數字是否是偶數,並且
  • 在列表理解中使用條件

使用 Python 不等於運算符進行比較

在下面的代碼片段中, str1str2的值相等。 所以等號運算符 ( == ) 返回True

 str1 = "coding" str2 = "coding" str1 == str2 # Output: True
python-等於運算符
Python 等號運算符

現在讓我們在條件表達式中使用等號運算符。

注意:能被 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 的所有整數。
  • 條件True num%2 == 0僅適用於偶數。
  • 所以even_10是所有小於 10 的偶數的列表。

到目前為止,您已經學習瞭如何使用不等於( != ) 和等於( == ) 運算符來檢查相等性

在下一節中,您將學習如何驗證兩個對象的身份 您將檢查兩個 Python 對像是否相同

如何使用 Python 的 is 和 is not 運算符

如果您是 Python 編程的初學者,您可能會對==is運算符感到困惑。 讓我們在本節中澄清這一點。

在上一節中,我們有一個示例,其中str1str2相等且==運算符返回True

現在運行以下代碼片段。

 str1 = "coding" str2 = "coding" str1 is str2 # Output: False

可以看到str1 is str2返回False

讓我們退後一步,了解 Python 的is運算符的作用。

is運算符對任意兩個 Python 對象進行操作。
並且僅當兩個對象相同時才返回True ——即它們引用內存中的同一個對象

即使str1等於str2str1也不是str2因為它們指向內存中的兩個不同對象。 因此,他們有不同的身份。

python-is-operator
== 和 is 不一樣

在 Python 中,您可以使用id()函數來獲取對象的標識。

運行以下代碼單元以獲取str1str2的標識。

 id(str1) # Sample output: 139935398870320 id(str2) # Sample output: 139935398871344

如您所見, str1str2具有不同的標識。 並且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 的isis not運算符如何幫助檢查兩個 Python 對像是否相同。

在此處了解如何計算時差或在 python 中製作蛇遊戲。

下一篇教程見。 在那之前,快樂的學習和編碼!