Python ❀ 面向对象(三)

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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球