8-1 模块和异常处理

一 模块

1

# 模块总结
# 能不能导入模块 : 用sys.path查看
# 导入模块的顺序 : 内置 扩展 自定义
# 导入模块 : 相当于执行了这个模块,文件中的名字会被存储在一块独立的内存空间中

# import
# 在全局创建了一个模块名,指向属于这个模块的命名空间
# 空间里存储了所有文件中的名字
# 起别名 import ... as ..
# 不推荐一行导入多个模块

# from import
# import后面的名字会出现在全局 ,相当于对独立命名空间中的一个引用
# from import 也支持 as语句 也支持 导入多个名字
# from import * 相当于导入所有名字,*和被导入模块__all__是互相影响的

2 绝对导入和相对导入

在glance同级目录下可以导入下面的命令:

 1 import glance  #绝对导入,其余的在init文件里面实现
 2 #在glace里面的init文件里写的:from glance import api
 3 #在api里面的init文件里写的:from glance.api import policy
 4 glance.api.policy.get()
 5 
 6 
 7 相对导入
 8 
 9 import glance
10 #在glace里面的init文件里写的:from . import api
11 #在api里面的init文件里写的:from .import policy
12 glance.api.policy.get()
二 异常处理
 1 #多分枝
 2 # s1 = 'hello'
 3 # try:
 4 #     int(s1)
 5 # except IndexError as e:
 6 #     print(e)
 7 # except KeyError as e:
 8 #     print(e)
 9 # except ValueError as e:
10 #     print(e)
1 #万能异常
2 #
3 # # s1 = 'hello'
4 # try:
5 #     int(s1)
6 # except Exception as e:
7 #     print(e)
1 #常用的处理异常结构
2 try:
3     pass #可能有问题的代码
4 except ValueError:  # 能预料到的错误
5     pass
6 except Exception as e:print(e) # 能处理错有的异常
7 else:pass          # try中的代码没有错误的时候执行
8 finally:pass    #无论如何都执行
#主动触发异常
# try:
#     raise TypeError('类型错误')
# except Exception as e:
#     print(e)
1 #断言 assert
2 assert 1==1
3 print('ok')
4 # assert 1==2
5 # print('error')

 




posted @ 2018-05-31 16:21  huningfei  阅读(239)  评论(0编辑  收藏  举报
levels of contents