第十八天笔记

包的使用

一、python2,包下必须有一个__init__.py文件,python3中即便是没有也不会报错

二、首次导入包,发送三件事,

 1. 以包下的__init_.py文件为基准来产生一个名称空间

 2. 执行包下的__init_.py文件的代码,将执行过程中产生的名字都丢到名称空间中

3. 在当前执行文件中拿到一个名字p1,p1就是指向__init__.py名称空间的

三、总结包的使用无非注意三点:

1. 但凡是在导入语句中带点的,点的左边都必须是一个包

2. 导入包就是在导包下的__init__.py文件

 3. 如果使用绝对导入,绝对导入的起始位置都是以包的顶级目录为起始点

4. 但是包内部模块的导入通常应该使用相对导入,.代表当前所在的文件(而非执行文件),..代表上一级

    强调        1. 相对导入只能包内部的模块之间互相导入使用

              2. ..上一级不能超出顶级包

四、import p1 #导入模块其实就是在导入包下的__init__.py文件

五、1. 控制日志级别

2. 控制日志格式

3. 控制输出的目标为文件

六、日志级别

logging.debug('debug日志') # 10
logging.info('info日志') # 20
logging.warning('warning日志') #30
logging.error('error日志')#40
logging.critical('critical日志') #50

七、

1. logger对象: 负责生产各种级别的日志
2. filter对象: 过滤日志
3. handler对象: 控制日志输出目标位置
4. formmater对象
5. 绑定logger对象与handler对象
6. 绑定handler对象与formatter对象
7. 设置日志级别,logger对象与handler对象两层关卡,必须都放行最终日志才会放行,通常二者级别相同
8. 使用logger对象产生日志

 

posted @ 2018-08-10 17:08  zhouhao666  阅读(142)  评论(0编辑  收藏  举报