如何使用Python的不等于和等于运算符

在Python中,您可以使用不等于等于运算符来检查两个Python对象是否具有相同的值。本教程将教您如何使用这些运算符并提供大量示例代码。

在本教程中,您将学到:

  • 不等于 (!=) 运算符的语法和用法,
  • 等于 (==) 运算符的语法和示例,以及
  • 使用isis not运算符来检查任意两个Python对象的标识。

让我们开始吧。

Python不等于运算符语法

对于任意两个Python对象obj1obj2,使用不等于运算符的一般语法为:

 != 
  • obj1obj2的值不相等时返回True,否则返回False

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

Python不等于运算符代码示例

在本节中,使用一些示例来更好地理解不等于运算符。

使用Python不等于运算符进行比较

这是我们的第一个示例。

num1 = 27
num2 = 3*9

num1 != num2

# 输出:False

您可以在浏览器上运行示例代码。或者您可以选择在本地运行。

由于num1 = 27,而num2也等于273*9 = 27),所以num1num2的值是相等的。因此,不等于!=运算符返回False

再举一个例子。

在下面的代码中,num1设置为7,num2设置为字符串7。由于它们是不同的数据类型,不等于运算符返回True

num1 = 7 
num2 = "7" 
num1 != num2 

# 输出:True

您可以将字符串转换为整数,如下所示:

num1 = 7
num2 = int("7")

num1 != num2

# 输出:False

在这种情况下,您可以看到返回的结果是False,因为num1num2现在都等于整数7。

您还可以将不等于运算符与Python集合(如列表、元组和集合)一起使用。

注意:对于像列表这样的数据集合,不等于运算符通过检查各个项的值来工作。例如,长度为n的两个列表list1list2只有在i{0,1,2,3,..n-1}list1[i] == list2[i]时才相等。

下面是一个例子:

list1 = [2,4,6,8]
list2 = [2,4,6,9]

list1 != list2

# 输出: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.")

# 输出:The number is odd.

当你想要保留只满足特定条件的列表元素时,你还可以在 list comprehensions 中使用条件语句。在下面的示例中,odd_10 是小于10的所有奇数的列表。

odd = [num for num in range(10) if num%2 != 0]
print(odd)

# 输出:[1, 3, 5, 7, 9]

这样我们就完成了对不等于 (!=) 操作符的讨论。✅

现在你应该已经猜到了,等于 操作符产生了 不等于 操作符的 相反 效果。

在下一节中你将会学习更多相关知识。

Python 等于操作符语法

下面是使用 Python 的 等于 操作符的语法:

 ==   # 其中  和  是有效的 Python 对象
  • obj1obj2 的值相等时,返回 True,否则返回 False

Python 等于操作符代码示例

等于操作符 (==) 的使用方式与不等于操作符类似。

让我们来编写以下示例:

  • 检查两个字符串是否相等,
  • 检查一个数字是否是偶数,以及
  • 在列表推导中使用条件语句

使用 Python 不等于操作符进行比较

在下面的代码段中,str1str2 在值上是相等的。因此等于操作符 (==) 返回 True

str1 = "coding"
str2 = "coding"

str1 == str2

# 输出:True
Python 等于操作符

现在让我们在条件表达式中使用等于操作符。

注意:能够被2整除的数字是 偶数。在代码中,这个条件可以简化为 num%2 == 0

num = 10
if(num%2 == 0):
  print("这个数字是偶数。")
else:
  print("这个数字是奇数。")

# 输出:这个数字是偶数。

现在让我们在这个例子的基础上使用 Python 的列表推导来获取小于10的所有偶数。

even_10 = [num for num in range(10) if num%2 == 0]
print(even_10)

# 输出:[0, 2, 4, 6, 8]

在上面的例子中,

  • range(10) 返回一个可循环的范围对象,可以通过循环获得从0到9的所有整数。
  • 条件 num%2 == 0 仅对偶数成立。
  • 因此 even_10 是小于10的所有偶数的列表。

到目前为止,你已经学会了如何使用不等于 (!=) 和等于 (==) 操作符来检查 相等性

在下一节中,你将学习如何验证两个对象的 身份,即确定两个 Python 对象是否 相同

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

如果你是 Python 编程的初学者,可能会对 ==is 操作符之间存在的区别感到困惑。让我们在本节中澄清这一点。

在上一节中,我们有一个例子,str1str2 是相等的,== 操作符返回了 True

现在运行以下代码片段。

str1 = "coding" 
str2 = "coding" 

str1 is str2 

# 输出:False

你可以看到 str1 is str2 返回了 False

让我们退后一步,理解一下 Python 的 is 操作符是如何工作的。

is运算符适用于任何两个Python对象。如果这两个对象是相同的——即它们在内存中指向同一个对象,则返回True

尽管str1等于str2,但是str1不是str2,因为它们在内存中指向两个不同的对象。因此,它们有不同的标识。

==和is并不相同

在Python中,您可以使用id()函数来获取对象的标识。

▶ 运行以下代码单元格以获取str1str2的标识。

id(str1)

# 示例输出:139935398870320

id(str2)

# 示例输出:139935398871344

如您所见,str1str2具有不同的标识。而str1 is str2返回了预期的False

综上所述,

 is  # 仅当以下条件为真时返回True
id() == id() # 返回True

让我们来验证一下:

str1 = "coding"
str2 = str1

print(str1 is str2)
print(id(str1) == id(str2))

# 输出
True
True

直观地说,is not运算符与is运算符相反。

is not运算符适用于任何两个Python对象。如果这两个对象是相同的——即它们在内存中指向同一个对象,则返回False。否则返回True

在上面的代码示例中,尝试将is替换为is not并检查结果。

结论 👩‍💻

希望本教程对您有帮助。

总结一下,您已经学会了:

  • 如何使用相等==)和不相等!=)运算符来检查两个Python对象是否具有相同的值,
  • Python对象的相等性标识之间的区别,以及
  • Python的isis not运算符在检查两个Python对象是否相同方面的帮助。

了解如何calculate time differencemake a snake game in python here.

下次教程见。在那之前,祝您学习和编码愉快!🎉

类似文章