(九)Pycharm异常、模块

异常:
    当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解析器对模块位置的搜索顺序是:
  1. 当前目录
  2. 如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。
  3. 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/
  4. 模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。
{模块名要符合标识符的命名规则}
{自己设定的模块不能和系统设定的模块同名}
 
导入方法:
  1. import 模块名         调用:模块名.功能名
  2. import 模块名 as 别名      调用:别名.功能名
  3. from 模块名 import 功能名      调用:功能名
  4. from 模块名 import 功能名 as 别名      调用:别名
  5. from 模块名 import * (导入所有功能)     调用:功能名
  {__all__变量:控制这当前模块有哪些功能可以被*导入;只影响*号导入}
  • 如果一个文件中有__all__变量,那么也就意味着这个变量中的元素,不会被from xxx import *时导入
 
 
导入一个模块时会直接运行模块里的代码
if__name__ == '__main__':  # 必写
    测试模块,导入模块时设置不运行
 
 
包(文件夹)
    导入方法:
  1. import 包名.模块名         调用:包名.模块名.功能名
  2. from 包名 import 模块名      调用:模块名.功能名
  3. from 包名 import 模块名 as 别名      调用:别名.功能名
  4. from 包名.模块名 import 功能名      调用:功能名
  5. from 包名 import * (导入所有)
要使用星号导入包下的所有模块,包里必须__init__.py文件
文件里必须要有__all__变量 变量里必须要写明可以被导入模块
__init__可以用来初始化当前包的执行环境(在python2里必须要有__init__.py文件)
平级的包间不能互相导入
posted @ 2018-05-04 09:33  庆长  阅读(2010)  评论(0编辑  收藏  举报