Python程序控制结构概述及异常处理

1、程序控制结构概述

基础程序控制结构有三种,顺序结构、分支结构、循环结构。任何程序都以这三种结构为基础。

顺序结构就是程序以单线性顺序从开头至末尾依次执行的结构,中间没有任何的选择分支和循环部分。顺序结构是最简单的程序控制结构。

 

 

分支结构就是在一段程序执行过程中,程序判断数据的情况,根据不同的数据进行不同的操作,这个不同操作的过程就是产生分支。分支结构的基础是判断,最常见的是if语句建立的分支结构。

 


循环结构是指在一段程序执行过程中,某些操作被程序多次重复执行,直到满足某些条件后,才进行程序的下一步操作。显然,判断是跳出循环的重要前提。建立循环的语句很多,包括for、while等等。

 

三种基础程序控制结构是所有程序的基础,任何编程语言都提供这三种结构,并在此基础上进行拓展。此节只是简要介绍,下节将详细讲解分支结构。

2、程序的异常处理

程序的异常处理就是基础程序控制结构的拓展。在分支结构原理的基础上,Python增加了异常处理,使用try-except保留字。

 

 

异常处理以程序是否异常为判断条件,根据一段代码执行的正确性进行程序逻辑选择。例如在一段要求用户输入数字的程序中,用户输入了非数字字符,程序并不会因此停止,此时程序就是异常执行状态。异常状态的程序往往得不到预期的结果,因此对程序异常状态的判断和判断之后的处理就显得尤为重要。

Python语言提供try和except进行异常处理,基本的语法格式如下:

    try:

                     <语句块1>

              Except:

                     <语句块2>

语句块1是程序正常情况下执行的语句,语句块2是在程序发现异常情况时执行的语句。如上面的例子用代码实现为:


try:
    num = eval(input("请输入数字:"))
    print("输入的数字是:{}".format(num))
except:
print("输入的不是数字")
#输出情况如下:
#输入数字时
请输入数字:2
输入的数字是:2
#输入非数字时
请输入数字:阿松大
输入的不是数字

除了在输入时判断,异常处理在程序中也可以发挥重要作用。例如下例中,出现0做除数的错误情况,就可以使用异常处理避免。


try:
    for i in range(5):
        print(5/i)
except:
print("出错了 ")
#输出结果为:
出错了

在异常处理中,try-except还可以结合具体的错误进行针对性的处理。在except后面指明错误类型,对于除数为0这一情况,可以在except后面增加ZeroDivisionError,仅仅指定改类型的错误,并对其他异常增加except处理。


try:
    for i in range(5):
        print(5/i)
except ZeroDivisionError:
    print("出错了,是因为除数为0")
except:
print("出错了,但不是因为除数为0")
#输出结果为:
出错了,是因为除数为0

只要程序有可能异常退出,无论哪种类型,都可以用try-except捕捉异常,使程序有更好的稳定性和更优质的用户体验。

posted @ 2021-02-21 14:05  酸菜鱼学Python  阅读(786)  评论(0编辑  收藏  举报