这里开始学习控制结构与异常处理,包括以下内容:
1、顺序结构(python的代码执行特点)
2、分支结构
3、循环结构
4、break和continue
5、try…except异常处理以及其他异常处理
1、python的代码执行特点与顺序结构
经过前面的学习,我们知道,python中在执行代码的时候是从上往下执行,当遇到错误的时候就停止执行,不再执行下面的代码。在python中一般有三种结构,最简单的就是顺序结构,它的结构图如下:
p
2、分支结构
在顺序结构的基础上加入一些分支,结构示意图如下:
在python中有三种分支结构,分别是单分支结构、二分支结构、多分支结构:
单分支结构:
- 在python中使用if语句来编写单分支结构,格式如下:
if <判断>:
# 如果上面判断条件返回True,执行此段,否则不执行
二分支结构:
- 在python中使用if-else来编写二分支结构,格式如下:
if <判断>:
#判断条件返回True执行此段
else:
#判断条件返回False执行此段
多分支结构:
- 多分支结构可以有嵌套的二分支结构组成,例如:
if <判断1>:
#判断条件1为True执行此段
else:
if <判断2>:
#判断条件2为True执行此段
else:
......
利用这种方法也可以实现大部分的分支结构,但是还记得python之禅说的,”扁平胜于嵌套“,像这样嵌套的代码不是一种明智的选择。建议使用下面呢python代码。
-多分支结构的第二形式:
这是多分支结构的第二形式,相对上面的方法更加的扁平:
if <判断1>:
#判断1为True执行此段
elif <判断2>:
#判断2为True执行此段
elif <判断3>:
#判断3为True执行此段
......
else:
#否则执行此段段
像这样的代码就比上面的代码更加的好看。
循环结构:
循环结构也是一个重要的结构,它主要有两种种:遍历循环、无限循环。循环模式的结构图如下:
遍历循环:
在python中一般使用for语句来完成遍历循环语句,一般形式如下:
for <某一变量> in <某一遍历结构>:
#判断条件为True执行此段,此时for语句中的遍历
因此会自动变成遍历结构的下一个,直至遍历所有元素为止
- 在for结构中,一般会配合range()、组合数据一起使用。range(start, stop[, step])中,各参数含义:
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
- 事实上,range()函数返回的是一个列表。所以其他的有序组合类型数据在for循环语句中也是可以使用的,比如字符串和列表和元组。
无限循环while True:
- 在python中有一个用于无限循环的保留字就是while,一般在后面使用True进行无限循环。当然你也可以在里面放其他的条件,它的语句结构如下:
while <条件>:
#条件为True执行此段。
break和continue:
这两个保留字用于跳出循环,但是有区别,一个break是跳出整个循环体系,continue是跳出当前的循环,下面见一个例子:
for letter in 'Python': # 第一个实例
if letter == 'h':
break # break跳出了整个循环
print ('当前字母 :', letter)
var = 10 # 第二个实例
while var > 0:
print '当前变量值 :', var
var = var -1
if var == 5: # 当变量 var 等于 5 时退出循环
break # break跳出整个循环
运行结果:
在这两个例子中,说明了break的用处,它是跳出整个循环,让循环不再进行。在while True形式的无限循环中一般都要配合break和分支语句一起使用,否则对于无限循环只能通过”ctrl+c“暂停。
for letter in 'Python': # 第一个实例
if letter == 'h':
continue #continute仅仅跳出本轮循环
print ( '当前字母 :', letter)
var = 10 # 第二个实例
while var > 0:
var = var -1
if var == 5:
continue #continute仅仅跳出本轮循环
print ('当前变量值 :', var)
运行结果:
这两个例子说明了continue中只退出当前的循环,即在循环语块中遇到continue本轮循环便停止,循环语块中的其他句子不在进行,去进行新的循环。
try-except异常处理:
- 在python之禅中还有一句话就是:不要包容所有错误,除非你确定需要这样做。
所以在python编程中,我们往往要使用异常处理,所谓异常处理,就是在程序出现异常的时候会抛出一个错误并且不再进行下面的操作,进行异常处理一个,可以更加人性化地提示错误,第二可以使错误不影响下面的语句的进行,第三可以用于调试。它的一般结构如下:
try:
<语块1>
except:
<语块2>
它的意思是说,如果语块1发生了异常,就进行语块2.
本此内容就这么多,下次我们来做一个小游戏,叫做猜数字,其中就用到这些知识。