如何使用Python的不等于和等于运算符
在Python中,您可以使用不等于和等于运算符来检查两个Python对象是否具有相同的值。本教程将教您如何使用这些运算符并提供大量示例代码。
在本教程中,您将学到:
- 不等于 (
!=
) 运算符的语法和用法, - 等于 (
==
) 运算符的语法和示例,以及 - 使用
is
和is not
运算符来检查任意两个Python对象的标识。
让我们开始吧。
Python不等于运算符语法
对于任意两个Python对象obj1
和obj2
,使用不等于运算符的一般语法为:
!=
- 当
obj1
和obj2
的值不相等时返回True
,否则返回False
。
注意:如上所述,
obj1
和obj2
可以是整数、浮点数、字符串、列表等。
Python不等于运算符代码示例
在本节中,使用一些示例来更好地理解不等于运算符。
使用Python不等于运算符进行比较
这是我们的第一个示例。
num1 = 27
num2 = 3*9
num1 != num2
# 输出:False
您可以在浏览器上运行示例代码。或者您可以选择在本地运行。
由于num1 = 27
,而num2
也等于27
(3*9 = 27
),所以num1
和num2
的值是相等的。因此,不等于!=
运算符返回False
。
再举一个例子。
在下面的代码中,num1
设置为7,num2
设置为字符串7。由于它们是不同的数据类型,不等于运算符返回True
。
num1 = 7
num2 = "7"
num1 != num2
# 输出:True
您可以将字符串转换为整数,如下所示:
num1 = 7
num2 = int("7")
num1 != num2
# 输出:False
在这种情况下,您可以看到返回的结果是False
,因为num1
和num2
现在都等于整数7。
您还可以将不等于运算符与Python集合(如列表、元组和集合)一起使用。
注意:对于像列表这样的数据集合,不等于运算符通过检查各个项的值来工作。例如,长度为
n
的两个列表list1
和list2
只有在i
在{0,1,2,3,..n-1}
中list1[i] == list2[i]
时才相等。
下面是一个例子:
list1 = [2,4,6,8]
list2 = [2,4,6,9]
list1 != list2
# 输出: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.")
# 输出: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 对象
- 当
obj1
和obj2
的值相等时,返回True
,否则返回False
。
Python 等于操作符代码示例
等于操作符 (==
) 的使用方式与不等于操作符类似。
让我们来编写以下示例:
- 检查两个字符串是否相等,
- 检查一个数字是否是偶数,以及
- 在列表推导中使用条件语句
使用 Python 不等于操作符进行比较
在下面的代码段中,str1
和 str2
在值上是相等的。因此等于操作符 (==
) 返回 True
。
str1 = "coding"
str2 = "coding"
str1 == str2
# 输出:True
现在让我们在条件表达式中使用等于操作符。
注意:能够被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
操作符之间存在的区别感到困惑。让我们在本节中澄清这一点。
在上一节中,我们有一个例子,str1
和 str2
是相等的,==
操作符返回了 True
。
现在运行以下代码片段。
str1 = "coding"
str2 = "coding"
str1 is str2
# 输出:False
你可以看到 str1 is str2
返回了 False
。
让我们退后一步,理解一下 Python 的 is
操作符是如何工作的。
is
运算符适用于任何两个Python对象。如果这两个对象是相同的——即它们在内存中指向同一个对象,则返回True
。
尽管str1
等于str2
,但是str1
不是str2
,因为它们在内存中指向两个不同的对象。因此,它们有不同的标识。
在Python中,您可以使用id()
函数来获取对象的标识。
▶ 运行以下代码单元格以获取str1
和str2
的标识。
id(str1)
# 示例输出:139935398870320
id(str2)
# 示例输出:139935398871344
如您所见,str1
和str2
具有不同的标识。而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的
is
和is not
运算符在检查两个Python对象是否相同方面的帮助。
了解如何calculate time difference或make a snake game in python here.
下次教程见。在那之前,祝您学习和编码愉快!🎉