介绍
在本实验中,你将练习使用 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)来组合多个比较。
首先,尝试使用以下布尔运算符:
## 逻辑与
print(True and True) ## True
print(True and False) ## False
print(False and True) ## False
print(False and False) ## False
## 逻辑或
print(True or True) ## True
print(True or False) ## True
print(False or True) ## True
print(False or False) ## False
## 逻辑非
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) ## True
## 检查 x 是否不等于 y
print(x != y) ## True
尝试使用布尔运算符在 Python 中组合多个比较。你能创建评估为 True 或 False 的复杂条件吗?
在这一步中,你将学习如何在 Python 中使用混合运算符。混合运算符允许你结合比较运算符和布尔运算符,以创建更复杂的条件。
首先,尝试使用以下混合运算符:
## 检查 x 是否大于 y 且小于或等于 z
x = 5
y = 10
z = 15
print(y < x <= z) ## True
## 检查 x 是否不大于 y 且不小于或等于 z
print(not (y < x <= z)) ## False
你可以使用混合运算符创建一些乍一看较难理解的条件。使用括号来明确表示运算顺序非常重要。
## 检查 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"The first even number is: {even}")
break
## 输出:
## The first even number is: 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,while
循环在 counter
小于或等于 10 时继续运行。在每次循环迭代中,海象运算符用于将 counter
的值增加 1。更新后的 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 中使用比较运算符、布尔运算符和混合运算符。你可以使用这些运算符在代码中做出决策并执行计算。通过练习使用这些运算符,你将更加熟练地掌握它们。