文章目录
- 5. 流程控制 :选择、循环、断言、推导式
- 5.1 选择结构
- 5.2 pass ,assert 语句
- 5.3 循环
- 5.3.1 while 循环
- 5.3.2 for 循环
- 5.4 break 、continue
- 5.5 推导式
5. 流程控制 :选择、循环、断言、推导式
- 和其它编程语言一样,Python 按照执行流程也可分为 3 大结构:
顺序结构
、选择(分支)结构
、循环结构
- 顺序结构:就是让程序按照
从头到尾的顺序依次执行
每一条 代码,不重复执行任何代码,也不跳过任何代码 - 选择结构(分支结构):就是让程序“拐弯”,
有选择性的执行代码
,换句话说,可以跳过没用的代码,只执行有用的代码。 - 循环结构 :就是让程序“杀个回马枪”,不断地重复执行同一段代码
5.1 选择结构
- 选择结构由关键字:
if elif else
加缩进
和冒号:
组成 - 语法格式:
if condition1 :
do1
elif condition2 :
do2
else :
do3
- 表达式是否成立条件:
-
bool
类型中 :True 为 “真”, False 为 “假” - 数字中
0
和0.0
为 “假”,其它值为 “真” - 其它类型对象为
空
或者为None
时为“假”," " # 空字符串 [ ] # 空列表 ( ) # 空元组 { } # 空字典 None # 空值
均为假
5.2 pass ,assert 语句
- 空语句
pass
: Python 中的关键字,用来让解释器跳过此处,什么都不做 - 语法格式 :
if condition1 :
do1
elif condition2 :
pass # 空语句
else :
do2
-
assert
(断言语句),它用于判断某个表达式的值,如果值为真
,则程序可以继续往下执行
;反之为假
,Python 解释器会报AssertionError
错误。 - 语法格式 :
assert 表达式
if 表达式 == True :
程序继续执行
else:
程序报 AssertionError 错误
5.3 循环
5.3.1 while 循环
-
while 语句
执行的具体流程为:首先判断条件表达式的值,其值为真(True)时,则执行代码块中的语句,当执行完毕后,再回过头来重新判断条件表达式的值是否为真,若仍为真,则继续重新执行代码块…如此循环,直到条件表达式的值为假(False),才终止循环 - 语法格式:
while 条件表达式 :
代码块
-
while
循环后可以紧跟着一个else
代码块,它的作用是当循环条件为 False 跳出循环时,程序会最先执行 else 代码块中的代码:
while 条件表达式 :
代码块
else :
代码块
5.3.2 for 循环
-
for 循环
,它常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素 - 语法格式 :
for 迭代变量 in 字符串|列表|元组|字典|集合:
代码块
-
for
循环后也可以紧跟着一个else
代码块,它的作用是当循环条件为 False 跳出循环时,程序会最先执行 else 代码块中的代码:
5.4 break 、continue
- 在循环结束前
强制离开
当前循环 -
continue
语句 :跳过执行本次循环体中剩余的代码,转而执行下一次的循环 -
break
语句 : 完全终止当前循环
5.5 推导式
-
推导式(解析器
: 是 Python 独有的一种特性 , 使用推导式可以快速生成列表、元组、字典以及集合
类型的数据 - 列表推导式 :
- 利用 range 区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的列表
- 语法格式:
[表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] ]
- [if 条件表达式] 不是必须的 ,可以省略
- 列表推导式可使用多个循环 ,嵌套循环使用
- 元组推导式
- 利用 range 区间、元组、列表、字典和集合等数据类型,快速生成一个满足指定需求的元组
- 语法格式 :
(表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] )
- 字典推导式
- 借助列表、元组、字典、集合以及 range 区间,快速生成符合需求的字典
- 语法格式 :
{表达式 for 迭代变量 in 可迭代对象 [if 条件表达式]}
- 集合推导式
- 借助列表、元组、字典、集合以及 range 区间,快速生成符合需求的集合
- 语法格式 :
{ 表达式 for 迭代变量 in 可迭代对象 [if 条件表达式] }
- 表达式是以键值对(key:value)的形式
感谢阅读,如有错误,敬请见谅!!!