python 的代码执行流程有三种:顺序结构、选择分支结构、循环结构:
1)顺序结构:就是让程序按从头到尾的顺序依次执行每一行代码,不重复执行任何代码,也不跳过任何代码。
2)选择分支结构:就是让程序有选择性的执行代码。
3)循环结构:就是让循环体中的代码重复执行。
之前章节中的代码例子,基本上都是顺序结构的,也就是从头到尾依次执行,但很多情况,顺序结构的代码是远远不够的,比如一个登录模块,我们要选择通过什么方式进行登录,显然这个设计称顺序结构是不对的,我们可以用 if else 语句对条件进行判断,然后根据不同的结果执行不同的代码,这称为选择结构或者分支结构,if else 语句又分为三种形式:if、if else、if elif else:
1)if:
a = 1
b = 2
if a > b:
print("a 大于 b")
print("a 小于 b")
2)if else:
a = 1
b = 2
if a > b:
print("a 大于 b")
else:
print("a 小于 b")
3)if elif else:
a = 1
b = 2
if a > b:
print("a 大于 b")
elif a == b:
print("a 等于 b")
elif a < b:
print("a 小于 b")
else:
print("error")
如果第三种形式中的 elif 块不出现,就变成了第二种形式,另外,elif 和 else 都不能单独使用,必须和 if 一起出现,并且要正确配对,另外,前面有讲过,python 通过缩进来识别代码块,具有相同缩进量的若干行代码属于同一个代码块,所以为了避免语法错误,因此需要注意代码块的缩进。
注意:python 中没有 switch 语句,所以当要实现多重选择的功能时,只能使用 if else 分支语句。
循环结构,一般指的是 for 循环,通过 for 循环,可以实现例如累加等数值计算、遍历列表、元组、字典。
例如,要实现从 1 到 100 的累加:
sum = 0
for i in range(0, 101):
sum = sum + i
# print 5050
print(sum)
上面代码中,使用了 range() 函数,此函数是 python 内置函数,用于生成一系列连续整数,多用于 for 循环中。
用 for 循环遍历列表,其迭代变量会先后被赋值为列表的每个元素并执行一次循环体:
lis = [1, 2, 3, 4, 5]
for i in lis:
print(i)
用 for 循环遍历元组,其迭代变量会先后被赋值为元组的每个元素并执行一次循环体:
t = (1, 2, 3, 4, 5)
for i in t:
print(i)
用 for 循环遍历字典时,经常会用到和字典相关的 3 个方法,即 items()、keys() 以及 values(),迭代变量会被先后赋值为每个键值对中的键:
dic = {‘a‘: ‘1‘, ‘b‘: ‘2‘, ‘c‘: ‘3‘}
for i in dic.items():
print(i)
除了 for 循环,还有 while 循环,while 循环和 if 条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块,不同之处在于,只要条件为真,while 就会一直重复执行那段代码块:
num = 1
# 当 num 小于100时,会一直执行循环体
while num < 100 :
print(num)
# 每执行一次 num 的值都会 +1
num += 1
print("循环结束")
除此之外,while 循环还常用来遍历列表、元组和字符串,因为它们都支持通过下标索引获取指定位置的元素。
在执行 while 循环或者 for 循环时,只要循环条件满足,程序将会一直执行循环体,但在某些场景,我们可能希望在循环结束前就强制结束循环,python 提供了 2 种强制离开当前循环体的办法:
break 语句可以立即终止当前循环的执行,跳出当前所在的循环结构,无论是 while 循环还是 for 循环,只要执行 break 语句,就会直接结束当前正在执行的循环体,这就好比在操场上跑步,原计划跑 10 圈,可是当跑到第 2 圈的时候,突然想起有急事要办,于是果断停止跑步并离开操场,这就相当于使用了 break 语句提前终止了循环。
for i in range(0, 11):
print(i)
if i == 5:
break
print("执行循环体外的代码")
上面代码段中,从 i = 0 开始循环,直到 i 等于5时终止当前循环,并执行下面的打印语句。
和 break 语句相比,continue 语句的作用则没有那么强大,它只会终止执行本次循环中剩下的代码,直接从下一次循环继续执行,仍然以在操作跑步为例,原计划跑 10 圈,但当跑到 2 圈半的时候突然接到一个电话,此时停止了跑步,当挂断电话后,并没有继续跑剩下的半圈,而是直接从第 3 圈开始跑。
for i in range(0, 11):
print(i)
if i == 5:
print("hello")
continue
print("world")
print("执行循环体外的代码")
原文:https://www.cnblogs.com/isKylin/p/14079194.html