Python 条件判断
Python 决策
Section titled “Python 决策”决策是指预测程序执行期间可能出现的条件,并根据这些条件是否满足来指定相应的操作。
决策结构会评估表达式,这些表达式的结果是一个布尔值:True 或 False。根据这个结果,你的程序决定执行哪个代码块。
决策的一般流程通常如下所示:检查一个条件。如果条件为真(True),则执行操作 A。如果条件为假(False),可能检查另一个条件或执行操作 B。
理解 Python 中的“真值性”(Truthiness)
Section titled “理解 Python 中的“真值性”(Truthiness)”在 Python 中,值在布尔上下文(例如在 if 语句中)中进行评估。以下值被视为 False:
- 布尔值
False本身。 - 特殊对象
None。 - 等于零的数字类型(例如,
0、0.0、0j)。 - 空序列(例如,
''、()、[])。 - 空映射(例如,
{})。 - 实现了返回
False或0的__bool__()或__len__()方法的用户定义类的对象。
所有其他值通常被视为 True。这个概念通常被称为“真值性”(truthiness)。
Python 提供以下几种类型的决策语句:
| 语句 | 描述 |
|---|---|
if 语句 | 仅当特定条件为 True 时执行一段代码块。 |
if...else 语句 | 如果条件为 True,则执行一段代码块;如果条件为 False,则执行另一段代码块。 |
if...elif...else 语句 | 按顺序检查多个条件,并执行与第一个为 True 的条件相对应的代码块。如果所有条件都不为 True,则执行可选的 else 块。 |
嵌套 if 语句 | 可以在其他决策语句的代码块内部放置 if、elif 或 else 语句。 |
让我们来探讨这些结构。
基本的 if 语句示例
Section titled “基本的 if 语句示例”这是一个展示 if 语句的简单示例:
#!/usr/bin/env python3
temperature = 35
# 使用现代 f-string 格式化if temperature > 30: print(f"Temperature is {temperature}. It's hot outside!")
print("Execution finished.")当上述代码执行时,会产生:
Temperature is 35. It's hot outside!Execution finished.if...elif...else 示例
Section titled “if...elif...else 示例”使用 elif(else if 的缩写)可以按顺序检查多个条件:
#!/usr/bin/env python3
score = 75
if score >= 90: grade = 'A'elif score >= 80: grade = 'B'elif score >= 70: grade = 'C'elif score >= 60: grade = 'D'else: grade = 'F'
print(f"Score: {score}, Grade: {grade}")输出:
Score: 75, Grade: C单语句块(单行语句)
Section titled “单语句块(单行语句)”如果 if、elif 或 else 子句的代码块只包含一个语句,你可以将其放在头部同一行。然而,为了提高可读性(遵循 PEP 8 规范),通常建议使用单独的行和缩进,特别是对于更复杂的逻辑。
单行 if 子句的示例:
#!/usr/bin/env python3
var = 100
# 注意:地道的 Python 写法通常避免在条件周围使用括号if var == 100: print("Value of expression is 100")
print("Goodbye!")当上述代码执行时,会产生:
Value of expression is 100Goodbye!有关控制流的更多详细信息,请查阅 Python 官方文档:https://docs.python.org/3/tutorial/controlflow.html#if-statements