异常 & 模块
异常
基本捕获语法
try:
可能发生错误的代码
expect:
如果出现异常执行的代码
捕获指定异常
try:
可能发生错误的代码
expect 异常名 as 变量名(任意,如a,c):
如果出现异常执行的代码
获取多个异常
try:
可能发生错误的代码
expect (异常名1,异常名2) as 变量名(任意,如a,c):
如果出现异常执行的代码
获取全部异常
try:
可能发生错误的代码
expect Exception as 变量名(任意,如a,c):
如果出现异常执行的代码
else & finally
else
:如果没有异常时要执行的代码
finally
:有没有异常都会执行的代码
try:
可能发生错误的代码
expect Exception as 变量名(任意,如a,c):
如果出现异常执行的代码
else:
……
finally:
……
导入模块
模块
就是一个python文件以.py结尾,里面有类,函数,变量等,可以直接拿过来用
格式
:
[from 模块名] import [模块 / 类 / 变量 / 函数 / *] [as 别名] (“[]”为可写可不写)
import
如import time 可以引用time模块,其中有sleep可以让代码延时运行
如time.sleep(5)让代码睡5秒后在运行
from 模块名 import 功能名
因为模块中不是所有的方法都会用到,所以用from来提取想要的功能
功能名(),这样即可使用
from 模块名 import *
意思是把模块中的所有功能都导进来
import 功能名 as 别名
给模块起别名的效果
如 import time as qq
qq.time(5)
自定义模块
- 新建一个.py文件,命个名,并定义方法
- 在另一个文件中import该文件即可使用
不过当引用自定义模块的时候,会直接运行自定义模块,对于测试类是不需要的,但是又想测试自定义模块,那么可以在自定义模块中输入main
加回车 生成“if __ name __ == ‘__ main __ ’”:
再把需要测试的代码放在后面,这样既不影响自定义模块的测试,也不会干扰测试类
原理
__ name __其实是一个内置变量,当运行自定义模块时,name会变成main,满足if条件后运行后续代码
而在import自定义模块时,name不变,便运行不了
__ all __
如果模块中有__ all __变量,当使用from xxx import **