流程控制
Python程序执行,一定按照某种规律在执行
1.宏观一定是自上而下(逻辑上方代码一定比逻辑下方代码先执行):顺序结构
2.遇到需要条件判断选择不同执行路线的执行方式:分支结构
3.有些事情需要重复不断的去执行(当满足某种条件或不满足某种条件结束重复动作):循环结构
if分支
语法结构
if 判断条件:
同缩进代码块
elif 判断条件:
同缩进代码块
...
else:
同缩进代码块
代码执行过程中if条件通过就不会进入elif判断和else
如果if条件判断不通过再判断elif是否通过
elif判断通过不执行else
else只在所有条件判断不通过才执行
elif可以根据需求出现多次或不出现(代码层次方面要考虑条件的先后顺序)
可以根据需求决定是否有else结构
if嵌套
可以在任何结构的判断缩进下添加if分支结构且条件的判断取决于外层条件判断
if 条件:
if 条件:
pass
elif 条件:
pass
...
else:
pass
elif 条件:
pass
...
while循环
语法:
while 条件:
循环体代码
当判断条件为满足时会执行循环体,执行完毕会再去判断条件是否满足
还满足会继续执行循环体,从而循环执行代码
如果需要结束循环需要让条件在某种情况下不满足
如果需要循环体代码让循环退出可将条件定义为全局变量初始为True
在某种条件下修改该变量为False退出
或者直接使用break退出循环
whlie中使用break是退出本层循环
while中使用continue是退出本次循环直接开始下次循环
while嵌套想要完全退出需要逐循环退出
补充知识点:
死循环:不能主动结束的循环,想要结束只能通过break
0,""空字符串,[],{},None可以被while 及 if这种需要条件的关键词转换为False,其他都是True
while...else...:else分支会在while循环正常结束(没有被break结束)时执行
for循环
for用来完成特定的循环需求,不依赖于索引取值
语法:
for 变量 in 被循环的容器:
循环体代码
for 变量 in range(取值范围):
循环体代码
# 1.for循环会将被循环的容器中的值逐个赋值给变量
# 注:每一次循环 变量的赋值结果 不使用,下一次循环就会被覆盖,无法找回
# 3.当 被循环的容器 中的值被 全部赋值一遍后,循环自动结束
# for+break
# break用来主动结束for循环
name_list = ['nick', 'jason', 'tank', 'sean']
for name in name_list:
if name == 'jason':
break
print(name)
# for+continue
# continue 跳出本次循环 开始下一次循环
name_list = ['nick', 'jason', 'tank', 'sean']
for name in name_list:
if name == 'jason':
continue
print(name)
# for...else...
只有for正常结束没有被break结束才会执行else
# range()
# 1. range(终止数) 范围从0开始不包含终止数 rang(3) #[0,1, 2]
# 2. range(起始数, 终止数)范围起始数开始不包含终止数 rang(1,5) #[1, 2, 3, 4]
# 3. range(起始数, 终止数, 步长)步长不写默认为1 范围起始数开始不包含终止数
步长为负就反取值 range(10, 5, -1) # [10, 9, 8, 7, 6]
步长大小为 取值的间隔大小 range(5,10,2) #[5,7,9]
range在python2与python3中的区别
python2中
# range其实就是一个列表
# xrange其实就是python3中的range
#python3中
range,你需要值的时候才给你