当前位置:首页 » 编程语言 » pythonas关键字

pythonas关键字

发布时间: 2024-07-11 09:47:34

‘壹’ python入门精华-异常处理及其中的finally关键字的理解(超详细)

在python中会遇到两种错误,一种,是==语法错误==,这种错误不能被解释器容忍,必须更改为正确语法后程序才能运行;而另外一种,是在==程序运行过程中出现的错误==,诸如==NameError==,==TypeError==等此类错误,有错误名称和行号以及报错内容的错误,称之为==异常==。

名词解释:

[]:方括号内的内容不必一定出现

try:异常捕获块,有且仅有一个

except:异常处理块,可以有多个,且每个可以同时处理多种异常;不必一定存在

else:在未捕获到异常时,进入else;else可可选的,不必一定存在

finaly:不论try有没有捕获到异常都会进入的块,这里很多同学没有深刻体会到它的用途,只是单纯认为,此关键字不是必须的,没有那么重要,这个是讨论的一点,帮助各位童鞋理解加深印象。

as:为各种异常进行一个起别名额功能。

1、首先执行try中的代码块(error_statement),如果代码执行过程中出现异常,python会立刻生成一个对应的异常对象,并且将该异常上报解释器,由解释器获得异常的过程,称之为==异常捕获==。

2、如果==捕获到异常==,会立刻进入异常处理流程(==此时在try中异常出现以后的代码不会再运行==),即except关键字引导的块,根据关键字后边的ExceptionName来==自上而下由左及右==地逐个检查是否有对应的异常名称,如果有则进入对应的except模块,执行==其中的do_Excepttion_statement代码块==;如果没有检测到匹配的异常名称则==不会进入任何except块==,代码会继续向下运行。

3、else流程:在try中未检测到任何异常才会进入else,童鞋们可能会有疑问?是没有检测到异常,还是except没有包含该异常?注意~~这是两个概念,前者是没有异常,后者是有异常但是没有进行except处理。答案是,没有检测到任何异常(代码完全OK)才会进入else。示例如下:

4、except流程:

此处主要强调在最上边例子中的except[(ExceptionName1,ExceptionName2 ...) [as ...]]:的理解,‘[ ]’上边提到过,是代表可以没有;那么,童鞋写了如下代码,看看两种代码的结果是否相同呢?

首先,需要搞清楚,代码二是有语法错误的,这个必须得改正,问题在于else不能和try搭配,只能和except;第二点,这个是重点,只写except和什么都不写之间有没有区别?答案是肯定的,什么都不写代表不进行处理,而只写 except :’ 相当于 ==‘except Exception:’,这种写法意思是说万能异常处理,即Exception这种异常是所有异常的统称,所以如上的代码一是势必会打印‘name is error’这句话。

5、finally流程(重点) :童鞋们往往在有些时候比较难理解finally的存在的意义,但是对于这样的流程,大家却都知道无论try是否捕获到异常,都会进入finally流程’;那么接下来,我们细细品一品这个sao气外漏的fianlly究竟为何如此之sao。

5.1 fianlly: 其实这玩意有个冠冕堂皇的功能:垃圾处理机制,说白了,如果你打开了一些物理文件,最终,是需要finally来进行关闭的(有同学就说了,那不写在finally里边不行吗,也可以。)

5.2究竟如何理解?示例如下:

5.3 总结:

当 try 块中代码发生异常,导致程序崩溃时,在崩溃前 Python 解释器也会执行 finally 块中的代码

‘贰’ python中引入标准库或自带的内置库可能需要使用哪些关键字

就是三个关键字,基本上格式是这个import xxxx from xxxx as xx 。意思就是导入那个内置库或者引入标准库从哪里然后命名成一个简单的名字,方便在后面代码上引入时比较简单。

热点内容
打开一百兆cad不卡要什么配置 发布:2024-11-26 11:54:17 浏览:616
qq为什么密码修改好了就进不去 发布:2024-11-26 11:37:05 浏览:383
电容为啥耐压越大存储量越小 发布:2024-11-26 11:31:52 浏览:190
天然气车载储气瓶泄露处置脚本 发布:2024-11-26 11:17:36 浏览:255
换ip的服务器 发布:2024-11-26 11:17:29 浏览:76
容器平台怎么看配置 发布:2024-11-26 11:06:09 浏览:941
qq的xml源码 发布:2024-11-26 11:04:05 浏览:705
ip设计缓存设置 发布:2024-11-26 10:56:49 浏览:108
c语言k值 发布:2024-11-26 10:48:53 浏览:871
Java霸王大陆 发布:2024-11-26 10:44:52 浏览:705