了解异常
异常:
异常就是程序运行的过程中出现了错误
bug:
bug就是异常的意思,因为历史因为小虫子导致计算机失灵,所以延续至今,bug就代表软件出现错误
异常的捕获
为什么要捕获异常?
在可能发生异常的地方进行捕获。当发生异常的时候,提供解决方式,而不是任由其导致程序无法运行
捕获异常的语法
1
2
3
4
5
6
7
8
9
10try:
可能要发生异常的语句
except [异常 as 别名]:
出现异常的准备手段
[else:]
未出现异常时应做的事情
[finally]:
不管出不出现异常都会做的事情
# 带有中括号的内容可以不写,基础写法就是try-except组合捕获所有异常
异常的种类多种多样,如果想要不管什么类型的异常都能捕获到,那么使用:
- except:
- except Exception:
异常的传递
异常时具有传递性的,当出现异常,且所有函数都没有捕获异常的时候,程序就会报错
Python模块
模块的导入
模块:
模块就是一个Python代码文件,内含类、函数、变量等,我们可以导入进行使用。
导入模块:
语法:
1
[from 模块名] import [模块 | 类 | 变量 | 函数 | *] [as 别名]
演示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25"""
演示Python的模块导入
"""
# 使用import导入time模块使用sleep功能(函数)
import time # 导入Python内置的time模块(time.py这个代码文件)
time.sleep(5) # 通过 . 就可以使用模块的功能
print("###########")
# 使用from导入time的sleep功能(函数)
from time import sleep
sleep(5)
print("###########")
# 使用 * 导入time模块的全部功能
from time import *
sleep(5)
print("###########")
# 使用as给特定功能加上别名
import time as t
t.sleep(5)
from time import sleep as sl
sl(5)注意事项:
- from可以省略,直接import即可
- as别名可以省略
- 通过“.”来确定层级关系
- 模块的导入一般写在代码文件的开头位置
自定义模块
自定义模块并导入:
在Python代码文件中正常写代码即可,通过import、from关键字和导入Python内置模块一样导入即可使用
__mian__变量的功能:1
# if __name__ == '__main__':表示,只有当程序时直接执行的才会进入if内部,如果是被导入的,则if无法进入
注意事项:
不同模块,同名功能,如果都被导入,那么后导入的会覆盖先导入的
__all__变量可以控制 import* 的哪些功能可以被导入1
2
3
4
5
6
7def a():
print('hello')
def b():
print('hi')
__all__ = ['a']
Python包
自定义包
Python包:
包就是一个文件夹,里面可以存放许多Python模块(代码文件),通过包,在逻辑上将一批模块归为一类,方便使用
__init__.py文件作用:创建包会默认自动创建的文件,通过这个文件表示一个文件夹是Python的包,而非普通的文件夹
__all__变量的作用:同模块,控制import *能够导入的内容
安装第三方包
什么是第三方包?有什么作用?
第三方包就是非Python官方内置的包,可以安装他们拓展功能,提高开发效率
如何安装?
- 在命令提示符内:
- pip install 包名称
- pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名称
- 在PyCharm中安装
- 在命令提示符内: