Python 条件语句:IF…Else、ELIF 和 Switch Case
⚡ 智能摘要
Python 条件语句通过仅在布尔表达式求值为真时才执行特定的代码块来控制程序流程。它们包括 if、else、elif、嵌套 if、三元运算符以及用于实现清晰、决策驱动逻辑的结构模式匹配。

什么是条件语句 Python?
条件语句 Python 根据特定布尔约束的计算结果为真或假,执行不同的计算或操作。它们允许程序做出决策并遵循不同的路径,而不是按顺序执行每一行代码。 Python条件语句由……处理 if 语句及其相关语句:else、elif 和嵌套 if。
什么是 Python 如果语句?
此 Python 如果声明 用于决策操作。它包含一段代码,仅当 if 语句中给出的条件为真时才运行。如果条件为假,则运行可选的 else 语句,其中包含 else 条件对应的代码。当您想要根据一个条件执行操作而另一个条件不成立时,您可以使用 if 语句。 Python if-else 语句。
Python if 语句语法:
if expression:
statement
else:
statement
Python if…else 流程图
上面的流程图展示了 if-else 语句中的控制流。让我们来看一个例子。 Python if-else语句的实际应用:
# Example file for working with conditional statements
def main():
x, y = 2, 8
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code 线3: 我们定义两个变量 x,y = 2,8。
- Code 线4: if 语句检查条件 x < y,即 真 在这种情况下。
- Code 线5: 变量 st 设置为“x 小于 y”。
- Code 线6: print(st) 行输出 st 的值,即“x 小于 y”。
当“如果”条件不满足时会发生什么?
以前面的例子为基础,让我们看看当 if 条件成立时会发生什么。 Python 条件不满足。当条件为假且不存在其他分支时,缩进的代码将被完全跳过。
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
print(st)
if __name__ == "__main__":
main()
- Code 线3: 我们定义两个变量 x,y = 8,4。
- Code 线4: if 语句检查条件 x < y,即 假 在这种情况下。
- Code 线5: 变量 st 是 不是 设置为“x 小于 y”。
- Code 线6: print(st) 这行代码试图打印一个从未声明过的变量,所以 Python 提出一个 名称错误.
如何使用“else”条件
为了避免上述错误,您可以添加一个 else 条件语句。else 条件语句用于需要根据一个语句的结果来判断另一个语句的情况。如果一个条件为假,else 代码块会提供一条替代路径,以确保程序仍然能够产生结果。
计费示例:
# Example file for working with conditional statements
def main():
x, y = 8, 4
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code 线3: 我们定义两个变量 x,y = 8,4。
- Code 线4: if 语句检查条件 x < y,即 假 在这种情况下。
- Code 线6: 程序控制流向了 else 条件。
- Code 线7: 变量 st 被设置为“x 是 更大的 比 y”。
- Code 线8: print(st) 行输出 st 的值,即“x 大于 y”。
当“else”条件不起作用时
else 条件并非总能给出预期结果。当程序逻辑存在缺陷时,它可能会输出错误信息。这种情况通常发生在程序中需要处理两个以上的语句或条件时。一个例子可以帮助你理解这个概念。
这里两个变量都相同(8,8),但程序输出却是 “x大于y”, 这是 WRONG这是因为程序会先检查第一个条件(if 条件),如果第一个条件不成立,程序就会输出第二个条件(else 条件)作为默认值。下一步,我们将探讨如何纠正这个错误。
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
如何使用“elif”条件语句
为了纠正之前 else 条件所造成的错误,我们可以使用 ELIF 通过使用 elif 条件语句,您可以告诉程序在第一个条件为假时测试第三种可能性。您可以在代码中链接多个 elif 条件语句,以检查第四种、第五种以及更多可能性。
计费示例:
# Example file for working with conditional statements
def main():
x, y = 8, 8
if(x < y):
st = "x is less than y"
elif(x == y):
st = "x is same as y"
else:
st = "x is greater than y"
print(st)
if __name__ == "__main__":
main()
- Code 线3: 我们定义两个变量 x,y = 8,8。
- Code 线4: if 语句检查条件 x < y,即 假 在这种情况下。
- Code 线6: 程序控制流转到 elif 条件语句。它检查 x == y 是否成立,结果为真。
- Code 线7: 变量 st 被设置为“x 是 一样 y。”
- Code 线10: 程序控制跳出 if 语句(不会执行到 else 语句),并打印 st。输出结果为“x 与 y 相同”,这是正确的。
如何用最少的代码执行条件语句 Code
现在你可以编写完整的if-elif-else代码块了, Python 它允许你将一个简单的条件简化成一行代码。你无需为每个分支编写单独的代码,而是可以使用…… 三元(条件)表达式.
语法:
value_if_true if condition else value_if_false
计费示例:
def main():
x, y = 10, 8
st = "x is less than y" if (x < y) else "x is greater than or equal to y"
print(st)
if __name__ == "__main__":
main()
- Code 线2: 我们定义两个变量 x,y = 10,8。
- Code 线3: 如果 x < y,则变量 st 设置为“x 小于 y”;否则设置为“x 大于或等于 y”。因为这里 x > y,所以 st 成为第二个值。
- Code 线4: 打印 st 的值并给出正确的输出。
Python 嵌套 if 语句
嵌套 if 语句将一个 if 语句放在另一个 if 语句内部,当一个决定取决于第二个条件时,嵌套 if 语句非常有用。以下示例演示了嵌套 if 语句的用法。 Python 计算船舶ping 费用根据国家和订单总额而定。
total = 100
# country = "US"
country = "AU"
if country == "US":
if total <= 50:
print("Shipping Cost is $50")
elif total <= 100:
print("Shipping Cost is $25")
elif total <= 150:
print("Shipping Cost is $5")
else:
print("FREE")
if country == "AU":
if total <= 50:
print("Shipping Cost is $100")
else:
print("FREE")
取消注释上面的代码中的第 2 行,注释掉第 3 行,然后再次运行代码,看看对于不同的国家/地区,输出结果会有什么变化。
Switch Case 语句 Python
什么是Switch语句?
switch 语句是一种多路分支语句,它将变量的值与 case 语句中指定的值进行比较。多年来, Python 由于该语言没有 switch 语句,所以开发者们用其他方式实现了相同的功能。 Python 字典 地图ping.
使用字典映射的示例ping:
def switch_example(argument):
switcher = {
0: "This is Case Zero",
1: "This is Case One",
2: "This is Case Two",
}
return switcher.get(argument, "nothing")
if __name__ == "__main__":
argument = 1
print(switch_example(argument))
切换案例与匹配(Python 3.10和 Later)
建立 Python 3.10 (2021年10月发布) Python 提供原生 匹配案例 这种语句被称为结构模式匹配。它提供了一种简洁易读的替代方案,可以取代冗长的 elif 链和上面提到的字典方法。
def switch_example(argument):
match argument:
case 0:
return "This is Case Zero"
case 1:
return "This is Case One"
case 2:
return "This is Case Two"
case _:
return "nothing"
if __name__ == "__main__":
print(switch_example(1))
下划线 (_) 用作默认情况,匹配前面情况未处理的任何值,就像传统 switch 语句中的 default 一样。
if、elif 和 else:快速比较
利用此比较结果,确定哪种条件结构更符合您的决策逻辑。
| 个人陈述 | 目的 | 何时使用 |
|---|---|---|
| if | 当条件为真时,执行代码块。 | 一个单一的“是/否”决定 |
| 如果……否则 | 当条件为假时,提供备用方案。 | 两种互斥的结果 |
| ELIF | 按顺序测试其他条件 | 三种或更多种可能性 |
| 嵌套 | 将一个 if 放在另一个 if 里面 | 取决于第二个条件的决定 |
| 三元 | 将 if-else 语句合并成一行。 | 简单赋值 |
| 匹配案例 | 将值与多个模式进行匹配 | 多路分支(Python 3.10 +) |







