python 5.25

目录

分支结构 

1.单分支结构     

2.双分支结构(根据判断条件结果而选择不同向前路径的运行方式) 

  紧凑结构:适应于简单表达式的二分支结构

3.多分支结构(适用于多条件的判断,以及分级的问题)  

程序的异常处理

1.常见错误类型

2.异常处理语句:try-except 语句

3.异常高级用法


分支结构 

  注意:在每个if,elif, else 后要接上:(冒号),不然会出现语法错误。

1.单分支结构     

  if <条件>:  #若条件为真值,执行语句块

        <语句块>

2.双分支结构(根据判断条件结果而选择不同向前路径的运行方式) 

if <条件>:

        <语句块1>
else :

        <语句块2>    #若条件为真值执行语句块1,若为假则执行语句块2

     

  紧凑结构:适应于简单表达式的二分支结构

<表达式1> if <条件> else <表达式2>

3.多分支结构(适用于多条件的判断,以及分级的问题)  

if <条件>:

        <语句块1>

elif <条件>: #可以出现多个elif,但在使用过程中要注意多个条件之间的包含关系。
            #若条件出现数值的判断,要注意范围的覆盖以及区间

        <语句块2>

elif <条件>:

        <语句块3>
······

else : 

        <语句块4>

程序的异常处理

异常和错误:编程语言的异常和错误是两个相似但不同的概念。异常和错误都可能引起程序执行错误而退出,它们属于程序没有考虑到的例外情况。然而,绝大多数不可控因素是可以预见的,例如,程序期望获得数字输入却得到了其他字符输入、打开一个不存在的文件等。这种可以预见的例外情况称为异常,异常发生后经过妥善处理可以继续执行。另外一些因为程序编码逻辑产生不可预见的例外情况称为错误,错误发生后程序无法恢复执行,而且程序本不该处理这类可能的例外。

1.常见错误类型

AssertionError    断言语句失败(assert 后的条件为假)

AttributeError    访问的对象属性不存在

ImportError    无法导入模块或者对象,主要是路径有误或名称错误    

IndentationError 代码没有正确对齐,主要是缩进错误

IndexError    下标索引超出序列范围

IOError        输入/输出异常,主要是无法打开文件

KeyError    访问字典里不存在的键

NameError     访问一个未声明的变量

OverflowError    数值运算超出最大限制

SyntaxError    python语法错误

TabError    Tab和空格混用

TypeError    不同类型数据之间的无效操作(传入对象类型与要求的不符合)

ValueError    传入无效的值,即使值的类型是正确的

ZeroDivisionError    除法运算中除数0 或者 取模运算中模数为0

一旦程序发生异常,表明该程序在执行时出现了非正常的情况,无法再执行下去。默认情况下,程序会终止退出。
————————————————
版权声明:本文为CSDN博主「公子聪」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_50486192/article/details/123064964

2.异常处理语句:try-except 语句

python 异常信息中最重要的部分是异常类型,它表明发生异常的原因,也是处理异常的依据。

基本语法格式

try :
    <语句块1>
except :
    <语句块2>
#当执行语句块1时出现异常,则程序执行语句块2

try :
    <语句块1>
except <异常类型>:
    <语句块2>
#当执行语句块1时出现异常,且异常类型属于except,程序执行语句块2

3.异常高级用法

语法格式

try :
    <语句块1>
except <异常类型1>:
    <语句块2>
except <异常类型2>:
    <语句块3>
······
except <异常类型N>:
    <语句块N+1>
except :
    <语句块N+2>

第一个到第N个except语句中都指定了异常类型,说明这些except 都对应处理指定的异常,最后一个except未标明异常类型,则出现除以上指定的异常类型外,执行该except 对应的语句块。该过程类似于 if-elif-else 。

异常语句中也可以加入else finally 等关键字,格式如下

try :
    <语句块1>
except <异常类型>:
    <语句块2>
else :
    <语句块3>
finally:
    <语句块4>

可用多个except 来判断多种异常类型,在这个其中,finally中的语句块4无论是否执行语句块1,一定会执行,而else后的语句块3只在程序执行语句块1后执行,else 可以看成程序在执行语句块1后的追加处理(奖励)

在使用try-except 中会影响程序的可读性,增加代码维护难度,所以不太建议过度依赖,但用不用决定权在于自己,开心最重要!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值