Python基础——末篇

Python——末篇

一、 异常处理

​ 何谓异常呢? 就是我们IT界鼎鼎有名的 “ bug “ 兄。bug 也就是指程序没有按照我们所期望的去运行而出现的一些错误情况。比如一个除法表达式 a / b ,如果我们不加处理,那么就会出现 a / 0 的情况,此时程序就会出现异常。那么这就是一个 bug 。

​ 何谓异常处理呢?顾名思义就是当程序出现异常的时候,我们针对这些异常进行处理的机制。在 python 中默认的处理方法是出现异常后,程序会在出现异常的地方终止,然而这可能不是我们想要的。所以我们可以通过几个内置的关键字来进行自定义处理方式。

​ 我们先来了解两个 python 的异常处理类:

  • BaseException
  • Exception

1.1、 BaseException

​ 这个异常处理类是所有 python 异常处理的基类。我们在自定义异常处理时,可以继承这个类。**(官方不推荐)**

1.2、 Exception

​ 这个异常处理类是常规处理的基类,但是 Exception 也继承于 BaseException ,官方推荐我们自定义异常类时,继承于 Exception 。(官方文档)

1.3、 异常处理关键字

1.3.1、 关键字
try except else finally raise
1.3.2、 语法 - try、except、else、finally
1
2
3
4
5
6
7
8
9
try:
 可能异常的代码
except Error… as e:
 当出现 Error 后处理的代码
else:
 如果不出现异常,执行的代码
finally:
 无论是否发生异常都执行的代码
注意:一般时候只需要 try / except 即可,try 不可以单独使用。
1.3.3、 示例1
1
2
3
4
5
6
try:
a = 1 / 0
except Exception as e:
print(f"异常是{e}")
---------------------------------------------------------------------
输出: 异常是division by zero
1.3.4、 示例2
1
2
3
4
5
6
7
8
9
10
try:
a = 1 / 0
except Exception as e:
print(f"异常是{e}")
else:
print("没有异常执行")
finally:
print("执行了finally")
---------------------------------------------------------------------
输出: 异常是division by zero(执行了finally
1.3.5、 语法 - raise

raise 异常类(描述信息)
注:raise 用于主动抛出异常。

1.3.6、 示例
1
2
3
4
5
6
7
try:
a = 2
raise ValueError("a不能等于2")
except Exception as e:
print(f"异常是{e}")
---------------------------------------------------------------------
输出 异常是a不能等于2

二、 函数

函数部分的内容,我在前面已经详细讲解过了,在此我就不过多叙述了,大家没看过的阔以移步瞅瞅!!!

三、 类

类部分的内容,我在后面会详细讲解,在此我就不过多叙述了,大家稍等片刻!!!

四、 模块和包

4.1、 模块

Python 中一个以 .py 结尾的文件就是一个模块,模块中定义了变量、函数等来实现一些类似的功能。Python 有很多自带的模块(标准库)和第三方模块,一个模块可以被其他模块引用,实现了代码的复用性。

4.2、 包

包是存放模块的文件夹,包中包含 __init__.py 和其他模块,__init__.py 可为空也可定义属性和方法,在 Python3.3 之前的版本,一个文件夹中只有包含 __init__.py,其他程序才能从该文件夹引入相应的模块、函数等,之后的版本没有 __init__.py 也能正常导入,简单来说就是 Python3.3 之前的版本,__init__.py 是包的标识,是必须要有的,之后的版本可以没有。

4.3、 创建包

使用 PyCharm 创建包,步骤为:①打开 PyCharm 选中项目 ②右击鼠标选中 New 选项,然后再选中 Python Package 后单击鼠标,此时弹出创建窗口,如下所示:

img

我们填好名字后点击 OK 按钮即可。创建好后我们会发现 PyCharm 已经自动帮我们创建了空文件 __init__.py

4.4、 创建模块

使用 PyCharm 创建模块,步骤为:①选中刚刚创建的包 ②右击鼠标选中 New 选项,然后再选中 Python File 后单击鼠标,此时弹出创建窗口,如下所示:

image-20210906155023043

我们填好名字后点击 OK 按钮即可。

我们创建包和模块的最终目录结构为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package
|- pg1
|- - __init__.py
|- - a.py
|- - b.py
|- pg2
|- - __init__.py
|- - c.py
|- - d.py
a.py
def a():
print('a')
b.py
def b():
print('b')
c.py
def c():
print('c')
d.py
def d():
print('d')

4.5、 引用

从包中引入模块有如下两种方式:

1
2
3
4
5
6
7
import ...
import 包名1.包名2...模块名
1
from ... import ...
from 包名1.包名2... import 模块名
from 包名1.包名2...模块名 import 变量名/函数名
12

下面我们使用创建好的包和模块演示一下,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# a 模块中引入 b 模块
import pg1.b
from pg1 import b

# a 模块中引入 c 模块
import pg2.c
from pg2 import c

# a 模块中引入 c 模块和 d 模块
import pg2.c,pg2.d
from pg2 import c,d

# a 模块中引入包 pg2 下的所有模块
from pg2 import *

# a 模块中引入 d 模块中函数 d()
from pg2.d import d
# 调用函数 d()
d()

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!