如何使用 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]
fori
in{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 的所有整数。 - 条件
True
num%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 中制作蛇游戏。
下一篇教程见。 在那之前,快乐的学习和编码!