异常
异常
1.了解异常
异常:当检测到一个错误的时候,Python解释器就无法继续执行了,反而会出现一些错误的提示,这就是所谓的“异常”,也就是我们说的bug。
2. 异常的捕获方法
2.1捕获常规异常
基本语法:
1
2
3
4try:
可能发生错误的代码
except:
如果出现异常执行的代码进阶语法:捕获指定异常
1
2
3
4try:
print(name)
except NameError as e:
print('name变量名称为定义错误')
- 异常的类型是各种各样的。如果尝试执行的代码的异常类型和要捕获的异常类型不一致,则无法捕获异常。
- 一般try下方只放一行尝试执行的代码。
- 这里的e是别名。
- 进阶语法:捕获多个异常
1
2
3
4try:
print(1/0)
except(NameError,ZeroDivisionError) as e:
print('出现变量为定义或者除以0异常错误...')
- 当捕获多个异常的时候,可以把要捕获的异常类型的名字,放到except后,并且使用元组的方式进行书写。
- 捕获所有异常
- 其实第一种基本语法就是捕获所有异常了。但是还有一种写法,表示所有异常类型。
1 | try: |
- 以后一般用这种方式,因为Exception其实是顶级的异常。
2.2 异常的else和finally
- finally一般用于资源的关闭
- else和finally是可选的,可写可不写。
3. 异常的传递
- 异常的传递性告诉我们,如果想要捕获异常的话,并不需要深入到它真正出现异常的那一句话,只要函数之间有调用关系,也就是层级关系,在最顶级的调用这里,依旧可以捕获异常。
4. 模块
4.1 Python自带模块
- 中括号在Python里面是可选项,也就是可写可不写。
- 用这种方法就只会针对这个模块里面的某一个功能使用。
- *号代表的是所有的意思。这样子用的时候就不用写time.sleep(5)了,就直接写sleep(5)就行了
就是给具体的模块和具体的功能改名而已。
模块的导入一般写在开头。
4.2 自定义模块
- 就是只需要创建一个Python文件,在里面写好函数,然后要调用的时候import这个文件,就可以直接调用这个文件里面的函数了。
- 就是说自定义的模块,本身也是一个py文件,然后我们测试的时候,直接在这个模块里面调用这些函数。但是在其他的py文件如果import这个模块的话,相当于c语言的include了,就是等价于直接把模块的所有内容复制粘贴过来了。这样子测试的时候调用函数,现在也会被执行了。所以Python有一个内置变量__name__,如果你在模块内运行的话,这个变量就等于__main__,如果你在其他文件运行的话,就不等于,这样子测试的函数就不会被执行了,但是我们测试的时候它仍然还是会被执行。
- 最终能import到哪些函数取决于__all__变量。
- 如果你手动导入,也就是用from的话,那也可以,那就不受__all__的影响了。
5. 自定义Python包
- 就是说模块 + init.py就等于一个Python的包。
- init.py是一个特殊的文件,只要这个文件存在于文件夹里面,那么这个就是一个Python的包。否则只是一个普通的文件夹。
创建Python包:
- 导入包以后,还有继续选择要导入哪个文件。包名.文件名
6. 安装第三方包
安装第三方包:
- Title: 异常
- Author: CM
- Created at: 2023-07-23 14:02:00
- Updated at: 2023-07-23 21:35:51
- Link: https://redefine.ohevan.com/2023/07/23/异常/
- License: This work is licensed under CC BY-NC-SA 4.0.
Comments