条件语句根据条件判断表达式的值决定后续运行程序的顺序。Python 中支持三种实质上大同小异的条件语句,分别是 if 语句、if…else… 语句和 if…elif…else…语句,本节教程就来具体介绍。
if语句
if 语句的主要语法形式如下:
if 条件表达式:
语句
当条件表达式计算结果为 True 时,执行下一行缩进的语句;若条件表达式计算结果为 False,则跳过该条语句继续向下执行。例如:
if 2>1:
print('2大于1')
上述代码的运行结果如下所示:
>>> if 2>1:
print('2大于1')
2大于1
if 及其衍生的条件判断语句是目前各种高级程序设计语言的核心之一。
Python 的 if 类条件判断语句与其他语言不同之处主要有三点:
- 一是条件表达式无须外加括号;
- 二是条件表达式后加冒号;
- 三是条件表达式为True时执行的语句不加大括号,但需要遵循Python语法的缩进原则,使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
if…else…语句和if…elif…else…语句
if…elif…else… 语句的语法形式如下:
if 条件表达式1:
语句1
elif 条件表达式2:
语句2
elif ……
else:
语句3
当条件表达式 1 计算结果为 True 时,执行语句 1;当条件表达式 2 计算结果为 True 时,执行语句 2;若 else 之前的条件表达式计算结果均为 False,执行语句 3。例如:
a=1
b=2
if a<b:
print('a<b')
elif a==b:
print('a=b')
elif a>b:
print('a>b')
else :
print ('未知')
上述代码的运行结果下所示:
>>> a=1
>>> b=2
>>> if a<b:
print('a<b')
elif a==b:
print('a=b')
elif a>b:
print('a>b')
else :
print ('未知')
a<b
if…elif…else… 语句中的 elif 和 else 部分不是必需的,省略 elif 及对应的语句后就变成了 if…else… 语句,再省略 else 部分后就变成了 if 语句,也可只有 if…elif… 结构。
if嵌套
if 类语句支持嵌套使用,例如:
a=4
b=2
c=3
if a<b:
print('a<b')
elif a==b:
print('a=b')
elif a>b:
if b>c:
print ('a>b 且 b>c')
elif b==c:
print ('a>b 且 b=c')
elif b>c:
print ('a>b 且 b〉c')
else :
print ('a>b')
else :
print ('未知')
上述代码的运行结果如下所示:
>>> a=4
>>> b=2
>>> c=3
>>> if a<b:
print('a<b')
elif a==b:
print('a=b')
elif a>b:
if b>c:
print ('a>b 且 b>c')
elif b==c:
print ('a>b 且 b=c')
elif b>c:
print ('a>b 且 b〉c')
else :
print ('a>b')
else :
print ('未知')
a>b
温馨提示:Python 没有 switch…case… 语句,Python 的发明人认为 Python 不需要 switch…case… 语句,因为用 if…elif…elif…else… 序列很容易来实现 switch…case… 语句。