码迷,mamicode.com
首页 > 其他好文 > 详细

包的使用

时间:2018-08-10 23:19:04      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:nbsp   pytho   本质   port   代码   导入   产生   run   ini   

包(***)
1.什么是包
包就是包含有__init__.py文件的文件夹
包本质是一个模块,即包是用来导入使用的,包内部包含的文件也都是用来被导入使用的
2.为何要用包
包是文件夹,那文件夹就是用来组织文件的
首次导入包发生三件事
1 以包下的__init__.py文件为基准来产生一个名称空间
2 执行包下的__init__.py文件的代码,将执行过程中的名字都丢到名称空间中
3 在当前执行文件中拿到一个名字p1,该p1就是指向_init__.py的名称空间的
import p1 #导入包就是在导入包下的__init__.py文件
注意:
在python2中,包下必须有一个_init__.py的文件,而python3中即便没有也不会报错


当run文件与p1在同一文件下时
run文件需要使用p1中的模块时,只需在p1下__init__.py文件中将需要使用的模块import其中即可
当run文件与p1在不同一文件下时
需要在run文件中将p1父目录的路径添加到环境变量中
导入包需要注意的问题:
当凡是在导入语句中带点的,点的左边都必须是一个包
导入时每次只需从p1开始导入即可,找到p1是在run文件中处理
总结包的使用无非注意三点:
1 导入包就是在导包下的__init__.py文件
2 使用绝对导入,而导入的起始位置都是以包的顶级目录为起始点
3 但是包内部模块的导入通常应该使用相对导入,因为当修改顶级包名时,内部的导入就不需修改了
用.代表当前所在的文件(而非执行文件), ..代表上一级
强调:1相对导入只能包内部的模块之间互相导入使用

 

 

作业要求:

技术分享图片

 

其中注释掉的为绝对导入方法,其它为相对导入方法!


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

技术分享图片

run文件处理:

技术分享图片

pkg下__init__.py处理:

技术分享图片

sub2下__init__.py处理:

技术分享图片

 

包的使用

标签:nbsp   pytho   本质   port   代码   导入   产生   run   ini   

原文地址:https://www.cnblogs.com/zhangshengxiang/p/9457515.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!