1. 介绍
流程是指代码执行的过程
控制是对代码执行过程的一种把控
流程控制中的代码块:
以冒号作为开始,用缩进来划分作用域
作用域:作用的区域,作用的范围
代码块要么全部是一个tab缩进,要么全都是4个空格,不能混合使用
1.顺序结构
默认代码依次从上到下执行
2.分支结构
单项分支
双项分支
多项分支
巢状分支(嵌套分支)
3.循环结构
while循环
for循环
2. 分支结构
if 条件表达式:
代码块
当条件表达式成立,返回True,执行对应的代码块,否则不执行
if 条件表达式:
真区间代码块
else:
假区间代码块
如果条件表达式成立,执行if对应的代码块
如果条件表达式不成立,执行else对应的代码块
if 条件表达式1:
代码块
elif 条件表达式2:
代码块
elif 条件表达式3:
代码块
...
else:
代码块
elif 是else if的缩写,elif 可出现多次,else 只能出现0或1次
如果条件表达式1成立,返回True,执行对应代码块,否则向下执行
如果条件表达式2成立,返回True,执行对应的代码块,否则向下执行
依此类推...
直到最后,所有条件都不满足,执行else这个分支的代码块
3.循环结构
3.1 while循环
while循环可以减少冗余的代码,提升代码的效率
计数器变量
while 条件表达式:
代码块
计数器变化语句
- 初始化一个变量(计数器)
- 写上循环的判断条件
- 自增自减的变量值(跳出循环)
3.2 for循环
for循环主要用于遍历数据
for 迭代变量 in 可迭代对象:
代码块
可迭代对象:容器类型数据(str、list、tuple、set、dict)、数字序列(range)、迭代器
# 迭代等长的二级容器
>>> for a, b, c in [[1,2, 3], (a, b, c), {"k1:" :"v1", "k2":"v2", "k3":"v3"}]:
print(a, b, c)
1 2 3
4 5 6
k1: k2 k3
注意:迭代等长的二级容器时,二级容器内的元素数量要与迭代变量数相等
for循环主要用于遍历数据
while用于较为复杂的逻辑,在遍历数据时有局限性
while和for部分代码可以互相转换
3.3 标志语句
pass:
空语句,是为了保持程序结构的完整性,不做任何事情
continue:跳出当前循环,重新执行下一次循环
break:终止当前所在的循环
pass一般用做占位语句
continue后面的语句都不会被执行
使用break时,如果外层还有循环,则回到外层