异常:
当Python检测到一个错误时,解释器就
无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常"
捕获异常:
格式:try+执行代码······except+处理异常的代码······
try:
print num
except IOError:
print('产生错误了')
把可能出现问题的代码,放在try中
把处理异常的代码,放在except中
【except】代码当发生异常才会执行,一般用于程序的修复操作
(except捕获的错误类型是IOError)
【try】捕捉异常,
错误代码之后的内容不会执行
①捕捉指定异常:except 异常名
②捕捉多个异常:except(异常名1,异常名2)
多次捕捉异常,只有第一个才会执行
[Exception]是python里大部分异常的父类,可以用来捕捉大部分常见的异常,
自定义一个异常必须要继承Exception
获取异常的信息:except 异常名 as 别名 (except不能直接设置别名)
抛出异常: raise 语句
工作里有时候捕捉异常只是为记录异常信息,此时可以直接使用raise把捕捉到的异常再次抛出。
模块:import 导入
查看搜索路径:sys.path
当你导入一个模块,Python解析器对模块位置的搜索顺序是:
-
当前目录
-
如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。
-
如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/
-
模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。
{模块名要符合标识符的命名规则}
{自己设定的模块不能和系统设定的模块同名}
导入方法:
-
import 模块名 调用:模块名.功能名
-
import 模块名 as 别名 调用:别名.功能名
-
from 模块名 import 功能名 调用:功能名
-
from 模块名 import 功能名 as 别名 调用:别名
-
from 模块名 import * (导入所有功能) 调用:功能名
{__all__变量:控制这当前模块有哪些功能可以被*导入;只影响*号导入}
导入一个模块时会直接运行模块里的代码
if__name__ == '__main__': # 必写
测试模块,导入模块时设置不运行
包(文件夹)
导入方法:
-
import 包名.模块名 调用:包名.模块名.功能名
-
from 包名 import 模块名 调用:模块名.功能名
-
from 包名 import 模块名 as 别名 调用:别名.功能名
-
from 包名.模块名 import 功能名 调用:功能名
-
from 包名 import * (导入所有)
要使用星号导入包下的所有模块,包里必须__init__.py文件
文件里必须要有__all__变量 变量里必须要写明可以被导入模块
__init__可以用来初始化当前包的执行环境(在python2里必须要有__init__.py文件)
平级的包间不能互相导入
|