介绍
在本实验中,你将练习使用 Python 中的不同类型的运算符。具体来说,你将学习比较运算符、布尔运算符以及混合运算符。实验结束时,你将能够使用这些运算符在 Python 代码中进行决策和执行计算。
成就
- Python 比较运算符
- Python 布尔运算符
- Python 混合运算符
在本实验中,你将练习使用 Python 中的不同类型的运算符。具体来说,你将学习比较运算符、布尔运算符以及混合运算符。实验结束时,你将能够使用这些运算符在 Python 代码中进行决策和执行计算。
在这一步中,你将学习如何在 Python 中使用比较运算符。比较运算符允许你比较两个值,并确定它们是否相等、大于或小于彼此。
首先,打开终端并进入 Python 解释器:
python3
然后,尝试使用以下比较运算符:
## 等于
print(1 == 1) ## True
print(1 == 2) ## False
## 不等于
print(1 != 1) ## False
print(1 != 2) ## True
## 大于
print(1 > 2) ## False
print(2 > 1) ## True
## 小于
print(1 < 2) ## True
print(2 < 1) ## False
## 大于或等于
print(1 >= 2) ## False
print(2 >= 1) ## True
print(1 >= 1) ## True
## 小于或等于
print(1 <= 2) ## True
print(2 <= 1) ## False
print(1 <= 1) ## True
你可以使用比较运算符来比较整数、浮点数和字符串。例如:
print(1.0 == 1) ## True
print(1.5 > 1) ## True
print("a" < "b") ## True
尝试使用比较运算符来比较 Python 中的不同值。你能确定哪些值相等、大于或小于彼此吗?
在这一步中,你将学习如何在 Python 中使用布尔运算符。布尔运算符允许你使用逻辑 and(与)、or(或)和 not(非)来组合多个比较。
首先,尝试使用以下布尔运算符:
## 逻辑与 (and)
print(True and True) ## True
print(True and False) ## False
print(False and True) ## False
print(False and False) ## False
## 逻辑或 (or)
print(True or True) ## True
print(True or False) ## True
print(False or True) ## True
print(False or False) ## False
## 逻辑非 (not)
print(not True) ## False
print(not False) ## True
你可以使用布尔运算符来组合多个比较并创建更复杂的条件。例如:
## 检查 x 是否大于 y 且 z 是否小于 y
x = 5
y = 10
z = 15
print(x > y and z < y) ## False
## 检查 x 是否大于 y 或 z 是否小于 y
print(x > y or z < y) ## False
## 检查 x 是否不等于 y
print(x != y) ## True
尝试使用布尔运算符在 Python 中组合多个比较。你能创建出求值为 True 或 False 的复杂条件吗?
在这一步中,你将学习如何在 Python 中使用混合运算符。混合运算符允许你组合比较运算符和布尔运算符,以创建更复杂的条件。
首先,尝试使用以下混合运算符:
## 检查 x 是否大于 y 且小于或等于 z
x = 5
y = 10
z = 15
print(y < x <= z) ## False
## 检查 x 是否不大于 y 且不小于或等于 z
print(not (y < x <= z)) ## True
你可以使用混合运算符来创建乍看之下较难理解的条件。使用括号来明确操作顺序非常重要。
## 检查 x 是否大于 y 且 (z 小于 y 或 z 等于 x)
x = 5
y = 10
z = 15
print(x > y and (z < y or z == x)) ## False
尝试使用混合运算符在 Python 中创建复杂的条件。你能将比较运算符和布尔运算符结合起来,创建出准确反映你所需逻辑的条件吗?
海象运算符 := 是 Python 3.8 中引入的一项新功能,它允许你在表达式中为变量赋值。该运算符的语法与赋值运算符 = 相同,但它出现在表达式的左侧。
以下是一些展示如何使用海象运算符的代码示例。
## 使用海象运算符查找列表中的第一个偶数
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
if (even := num % 2 == 0):
print(f"第一个偶数是:{even}")
break
## 输出:
## 第一个偶数是:True
此示例演示了如何使用海象运算符查找列表中的第一个偶数。列表 numbers 包含从 1 到 10 的整数。在 for 循环中,我们遍历 numbers 列表,并使用海象运算符 := 将表达式 num % 2 == 0 的结果赋值给变量 even。如果 even 为 True,则表示 num 是一个偶数。在这种情况下,if 语句满足条件,第一个偶数会连同一条消息一起被打印出来。break 语句用于在找到第一个偶数时停止循环。
## 在 while 循环中使用海象运算符
counter = 0
while (counter := counter + 1) <= 10:
print(counter)
## 输出:
## 1
## 2
## ……
## 10
在此示例中,我们在 while 循环中使用海象运算符。变量 counter 初始化为 0,只要 counter 小于或等于 10,while 循环就会继续运行。在循环的每次迭代中,海象运算符用于通过加 1 来更新 counter 的值。更新后的 counter 值随后用于循环的下一次迭代。循环在每次迭代中打印 counter 的值,从而打印出 1 到 10 的数字。
## 在列表推导式中使用海象运算符
squared_numbers = [num * num for num in range(10) if (even := num % 2 == 0)]
print(squared_numbers)
## 输出:
## [0, 4, 16, 36, 64]
在此示例中,我们在列表推导式中使用海象运算符。列表推导式用于创建一个包含 0 到 9 之间偶数的平方列表。列表推导式由两部分组成:表达式 num * num 和条件子句 if (even := num % 2 == 0)。表达式 num * num 计算循环中当前数字 num 的平方。条件子句使用海象运算符将表达式 num % 2 == 0 的结果赋值给变量 even。如果 even 为 True,则表示 num 是一个偶数,其平方被包含在列表 squared_numbers 中。列表推导式生成列表 [0, 4, 16, 36, 64]。
需要注意的是,海象运算符旨在用于需要在表达式中赋值并多次使用该值的特定情况。它并非旨在取代传统的赋值语句,建议谨慎使用以提高代码的可读性。
在本实验中,你学习了如何在 Python 中使用比较运算符、布尔运算符和混合运算符。你可以使用这些运算符在代码中进行决策和执行计算。请多加练习这些运算符,以变得更加熟练。