Talk is cheap, show me the code.
—— Linus Torvalds
目录
控制流
用来控制程序的处理流程,即当程序满足或不满足
某一条件时,让程序去做哪些事情。
控制流语句使得我们可以处理丰富的代码逻辑。
基本的控制流语句有三种,分别是:
- if 条件语句
- for 循环语句
- while 循环语句
1,if 条件语句
if
语句用于判断一个条件,当条件为True
时,执行一段代码,当条件为False
时,执行另一段代码。
if
语句有三种结构:
- 没有分支
- 一个分支
- 多个分支
分支内要执行的语句,需要有缩进
,每个条件
后边要有冒号:
,如下:
# 没有分支
if 条件:
# 条件为True 时要执行的语句
...
# 一个分支
if 条件:
# 条件为True 时要执行的语句
...
else:
# 条件为False 时要执行的语句
...
# 多个分支
if 条件1:
# 条件1 为True 时要执行的语句
...
elif 条件2:
# 条件2 为True 时要执行的语句
...
elif 条件3:
# 条件3 为True 时要执行的语句
...
else:
# 条件1,条件2,条件3 都为False 时要执行的语句
...
多分支语句时,如果有多个条件都为True
,则只会执行第一个条件为True
内的语句,其它条件为True
内的语句不会执行。
比如上面的多分支if 语句中:
- 如果
条件1
,条件2
,条件3
都为True
,则只会执行条件1
内的语句。 - 如果
条件1
为False
,条件2
,条件3
都为True
,则只会执行条件2
内的语句。
if
语句后边的条件
,可带括号()
,可不带括号()
,如下是带括号的:
# 带括号的if 语句
if (条件):
...
if 语句嵌套
if
语句中还可以嵌套if
语句,下面是一个简单的if
嵌套语句结构:
if 条件1:
...
if 条件2:
...
...
示例,根据分数
判断等级
:
scores = ... # 分数
grade = None # 等级
if scores > 90:
# 分数大于90 时,等级为优秀
grade = '优秀'
elif scores > 80:
# 分数大于80 时,等级为良好
grade = '良好'
elif scores > 60:
# 分数大于60 时,等级为及格
grade = '及格'
else:
# 否则,等级为不及格
grade = '不及格'
2,for 循环语句
Python 中的for
循环不同于C/C++
,Java
中的for
循环。
Python 中的for
语句实际上是for...in
语句,通常用于遍历一个序列
,序列后边要有一个冒号:
。
说明:
一个字符串
,一个列表
,都是一个序列。
字符串
和列表
,在后续章节会详细介绍。
遍历列表:
# l 是一个列表
l = [1, 2, 3]
# 遍历列表
for i in l:
# i 是列表中的每个元素
print(i)
其输出结果为:
1
2
3
遍历字符串:
# s 是一个字符串
s = 'abc'
# 遍历字符串中的字符
for i in s:
print(i)
其输出结果为:
a
b
c
for 循环中的else
for
循环中也可以有一个else
语句,在for
循环执行完之后,会在最后执行else
语句:
# l 是一个列表
l = [1, 2, 3]
# 遍历列表
for i in l:
# i 是列表中的每个元素
print(i)
else:
print('for 循环执行结束')
其输出结果如下:
1
2
3
for 循环执行结束
当 for
循环的执行过程中遇到break
语句,else
语句则不会被执行:
l = [1, 2, 3]
for i in l:
print(i)
if i == 3:
# 当i 为3 时,会执行 break
break
else:
print('for 循环执行结束')
该段代码在执行到i
为3
时,会执行到break
语句,break
语句会跳出for
循环,else
语句也是for
循环的一部分,所以,else
中的语句不会被执行到。
其输出结果如下:
1
2
3
注意:
break
语句会在下面介绍到。
3,while 循环语句
下面是while
循环语句的语法格式,条件
后边有一个冒号:
,如下:
while 条件:
# 条件为True 时要执行的语句
...
...
while
语句的含义是,当条件
为True
时,会一直执行while
循环中的代码,直到某一时刻条件
变为了False
。
每次在执行while
循环体内的语句块之前,都会判断条件
,如果条件
为True
,则执行循环体,如果条件
为False
,则退出循环体。
示例:
i = 3
while i > 0:
print(i)
i = i - 1
这段代码的输出结果为:
3
2
1
当i
减到0
时,i > 0
为False
,此时while
循环结束。
while 循环中else
while
循环也与for
循环一样,可以有else
语句:
while 条件:
...
else:
...
无限循环
无限循环
是一个特殊的循环,其条件
永远为真
,如下就是一个无限循环:
while True:
...
...
只要无限循环中的语句没有主动退出
,或者遇到异常
,则无限循环中的语句将永远执行下去。
4,continue 语句
continue
语句用在for
循环和while
循环中,当遇到continue
语句时,会跳到循环的开头执行。
示例:
i = 3
while i > 0:
i = i - 1
if i == 2:
print('跳到循环开头')
continue
print(i)
其输出如下:
跳到循环开头
1
0
当i == 2
时,执行完print('跳到循环开头')
后,执行continue
语句,然后跳到循环开头执行,所以,i == 2
时,没有执行print(i)
。
5,break 语句
break
语句也是用在for
循环和while
循环中,当遇到break
语句时,会跳出循环体。
示例:
i = 3
while i > 0:
i = i - 1
if i == 0:
print('跳出循环')
break
print(i)
其输出结果如下:
2
1
跳出循环
当i == 0
时,执行完print('跳出循环')
后,执行break
语句,然后跳出循环,所以,i == 0
时,没有执行print(i)
。
6,pass 语句
pass
语句经常在控制流中用到,pass
语句是一个空语句
,不执行任何东西,只起到一个占位的作用。
示例:
i = ...
if i == 0:
# 做任何事情
pass
else:
print('i 不为 0')
(完。)
推荐阅读:
Python 简明教程 --- 1,搭建Python 环境
Python 简明教程 --- 2,第一个Python 程序
Python 简明教程 --- 3,Python 基础概念
Python 简明教程 --- 4,Python 变量与基本数据类型
Python 简明教程 --- 5,Python 表达式与运算符