如何使用 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 中制作蛇游戏。

下一篇教程见。 在那之前,快乐的学习和编码!