条件控制
Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
if 语句
if 语句是最基本的条件语句,它用于判断一个条件是否为真,如果为真,则执行对应的代码块,否则,则忽略该代码块。
语法格式如下:
|
|
例如:
|
|
- 首先,判断
num
是否大于 5,由于num
为 10,所以结果为True
,因此执行print("num is greater than 5")
语句。 - 然后,程序继续执行,并没有遇到
else
语句,因此程序结束。
if…else 语句
if…else 语句是 if 语句的扩展,它在判断条件为真时执行 if 代码块,否则执行 else 代码块。
语法格式如下:
|
|
例如:
|
|
- 首先,判断
num
是否大于 5,由于num
为 10,所以结果为True
,因此执行print("num is greater than 5")
语句。 - 然后,程序继续执行,并没有遇到
else
语句,因此程序结束。
if…elif…else 语句
if…elif…else 语句是 if…else 语句的扩展,它可以在多个条件判断中选择执行哪个代码块。
语法格式如下:
|
|
例如:
|
|
- 首先,判断
num
是否大于 5,由于num
为 10,所以结果为True
,因此执行print("num is greater than 5")
语句。 - 然后,程序继续执行,并没有遇到
elif
语句,因此程序结束。
嵌套条件语句
Python 允许在 if…elif…else 语句中嵌套 if…elif…else 语句,即在 if…elif…else 语句中使用另一个 if…elif…else 语句。
例如:
|
|
- 首先,判断
num
是否大于 5,由于num
为 10,所以结果为True
,因此执行print("num is greater than 5")
语句。 - 然后,判断
num
是否大于 10,由于num
为 10,所以结果为False
,因此执行print("num is not greater than 10")
语句。 - 最后,程序继续执行,并没有遇到
else
语句,因此程序结束。
match…case
3.10 版新增了一个新的语法 match...case
,它可以用来替代多个 if…elif…else 语句。
|
|
- 首先,判断
变量
是否等于值1
,由于变量
为值1
,所以结果为True
,因此执行代码块1
语句。 - 然后,程序继续执行,并没有遇到
case
语句,因此程序结束。 case_
语句是一种特殊的case
语句,它用于匹配所有其他的值。类似于default
语句,它必须放在最后,并且只能有一个。
例如:
|
|