Python学习计划(十一)
一、异常简介
异常,即程序出现错误。
二、捕获异常
一旦发生异常,如果不进行处理,程序就会中断。
[En]
Once an exception occurs, the program is interrupted if it is not handled.
如何提高程序的健壮性?
[En]
How can you improve the robustness of the program?
对于一般的可预测性异常,我们一般可以提前预防,也就是当程序出现问题时,我们有一个预先处理的机制。
[En]
For general predictability anomalies, we can generally prevent them in advance, that is, when something goes wrong with the program, we have a pre-handling mechanism.
1、try except语句:
- 把可能出现问题的代码放在try中
- 把处理异常的代码挡在except中
2、except也可以一次性捕捉多个异常:
3、也可用as关键字将异常信息存储:
4、也可以一次性捕捉:
5、else如果没发生异常则执行:
6、finally无论错误与否,都要执行:
三、异常的传递
- 如果一个异常是在一个函数中产生的,例如函数A—>函数B—->函数C,而异常是在函数C中产生的,那么如果函数C中没有对这个异常进行处理,那么这个异常会传递到函数B中,如果函数B有异常那么就会按照函数B的处理方式进行执行;如果 函数B也没有异常处理,那么这个异常就会继续传递,以此类推…如果所有的函数都没有处理,那么此时就会进行异常的默认处理,即通常所见。
- 当调用test3函数时,在test1函数内部产生了异常,此异常被传递到test3函数中完成了异常处理,而当异常处理完成后,并没有返回到函数test1中进行执行,而是在函数test3中继续执行
四、抛出自定义异常
可以用raise语句来引发一个异常。异常/错误对象必须有一个名字,且它们应是Error或Exception类的子类。
以上程序中,关于代码#super(). init()的说明:
这一行代码,可以调用也可以不调用 ,建议调用,因为_init_方法往往是用来对创建完的对象进行初始化工作,如果在子类中重写了父类的_init_方法,即意味着父类中的很多初始化工作没有做,这样就不保证程序的稳定了,所以在以后的开发中,如果重写了父类的_init_方法,最好是先调用父类的这个方法,然后再添加自己的功能。
五、异常处理中的抛出异常
六、模块介绍
有过C语言编程经验的朋友都知道在C语言中如果要引用sqr函数,必须用语句#include
1、import:
在python中用关键字import来引入某个模块,比如要引用模块math,就可以在文件最开始的地方用import math来引入。
在调用math模块中的函数时,必须这样引用:
2、from import:
在python的from语句让你从模块中导入一个指定的部分到当前命名空间中
七、模块制作
1、定义自己的模块
在python中,每个文件都可以制作一个模块,模块的名字就是文件的名字
比如有这样一个文件test.py,在test.py中定义了函数add
2、调用自己的模块:
那么在其他文件中就可以先import test,然后通过test.add(a,b)来调用了,当然可以通过from test import add来引入。
八、给程序传参数
九、列表推导式
所谓列表派生是指由轻量级循环创建的列表。
[En]
The so-called list derivation refers to the list created by a lightweight loop.
创作者:Eric· Charles
Original: https://blog.51cto.com/u_14814563/5415666
Author: 无糖可乐没有灵魂
Title: Python ❀ 面向对象(三)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/513786/
转载文章受原作者版权保护。转载请注明原作者出处!