相关知识----流程控制语句
一、控制语句与逻辑表达
1. 控制语句:把语句组合成一定功能的小逻辑模块
2. 分类 :
(1)顺序:先执行a,在执行b
(2)选择:如果怎么样则怎么样
(3)循环:如果怎么的,则重复执行
二、选择结构
根据条件决定执行哪个分支。包括单分支、双分支,多分支。
(一)单分支
1.语法 if条件表达式:
语句块
(1)条件:逻辑表达式 关系表达式 算术表达式
(2)语句/语句块:可以是一条语句也可以是多条语句,多条语句缩进必须一致
2.条件表达式:
(1)值为False情况:False 0 0.0 空值None 空序列对象(空字符 空列表、空字典、、空元组空集合) 空range对象 空迭代对象
(2)其他情况均为True,所以python所有表达式都可以看做条件
(3)条件表达式不能包含赋值操作
3.如果条件成立,执行
(二)双分支
1.语法 if 条件表达式:
语句块1
else :
语句块2
2.规则 如果 条件成立,则执行语句块1;否则执行语句块2。
3.三元条件运算符 :条件为真时的值 if (条件表达式)else 条件为假的值
(三)多分支
1.语法
If 条件表达式1:
语句块1
elif 条件表达式2:
语句块2
elif 条件表达式n:
语句块n
else:(可选择 非必须)
语句块n+1
2.基本规则:哪个条件成立执行哪个语句块
3.多分支结构,几个分支是有逻辑关系的,不能颠倒顺序。
三、循环结构
1.循环结构用来重复执行一条或多条
2.如果符合条件则则重复执行,每一次执行完都会判断循环条件是否为true
3.循环体至少应该包含条件表达式使得循环趋于结束,否则将进入死循环
(一)while循环语句语句
1.语法:while 循环条件:
循环体
(二)for循环
1.语法:for 变量 in 可迭代对象
2.可迭代对象 :
(1)序列:字符串 列表 元组
(2)字典
(3)迭代器对象
(4)生成器对象
(5)文件对象
3. range对象 :一个迭代器对象用来生成指定范围的序列
range (stat end step)
(三)break语句与continue语句
1. break语句可用于while和for循环,用来结束整个循环。当有嵌套循环时,跳出最近的一层循环。
2. continue语句用于结束本次循环。继续下一次循环。多个循环嵌套时,也是应用于最近的一层循环
(四)循环中的else语句
1. while,for循环可以附带一个else语句(可选) 。如果for,while语句 没有被break语句结束,则会执行else子句,否则不执行
2. 语法
(1) while 条件表达式 :
循环体
else:
语句块
(3)for 变量 in 可迭代对象 :
循环体
else :
语句块
(五)循环结构优化
1. 尽量减少循环内部不必要的计算
2. 循环嵌套中,尽量减少内层循环计算,尽可能向外提
3. 局部变量查询较快,尽量使用局部变量
4. 连接多个字符串用join
5. 列表进行多个元素插入和删除,尽量在尾部操作
(六)zip函数并行迭代
通过zip函数对多个序列进行迭代,zip函数在最短序列用完时就会停止
(七)推导式创建序列
1. 推导式是从一个或者多个迭代器快速创建序列的一种方法。它可以将循环和条件判断结合,从而避免冗长的代码
2. 推导式是python典型风格
3. 列表推导式 :[ 表达式 for item(元素) in 可迭代对象 if 条件判断 ]
4. 字典推导式 :{key:value for 表达式 in 可迭代对象}
5. 集合推导式 { 表达式 for item in 可迭代对象}
6. 生成器推导式 (表达式 for 变量 in 迭代对象 )生成生成器对象,每个生成器对象只能使用一次。不能直接生成元组推导式