(10)包的使用

 

什么是包

包的本质就是一个包含有__init__.py文件的文件夹

包是模块的一种形式

所以包用来被当做模块导入使用

导入包其实就是在导入包下__init__.py这个文件

 

为何要用包

就是将功能分类放入文件夹,以后通过文件名可以瞬间定位的需要的功能,一个模块越写越大才要定义成包,通常下载的第三方文件才会打包成一个包

 

 

如何用包

相对导入和绝对导入只能在包下使用,相对导入不受文件夹名变动影响,通常

包的使用实例

有项目文件夹下

项目文件夹下有aaa文件夹

aaa文件夹下有一个__init__.py文件

from .m1 import f1 #相对导入模块,以包的顶级目录为起始
from .m2 import f2
from .bbb.m3 import f3

PS:相对导入的格式,.代表当前在哪个文件这个.就代表哪个文件所在的文件夹

 

aaa文件夹下有一个子包bbb

bbb文件夹里面有一个m3模块

需求是m3需要调用m1模块里面的f1功能

两个点就是返回上级目录

from ..m1 import f1

aaa文件夹下有一个m1.py文件,里面有一个功能f1

aaa文件夹下有一个m2.py文件,里面有一个功能f2

PS:包内的文件全部是以导入为使用,不是用右键运行的

 

在run.py文件内

需求已文件夹名调用模块

import sys
sys.path.append(r'D:\周末三期\day09\dir') #把aaa所在的文件夹加入环境变量
PS:包的设计者不会考虑你下载后把包放在哪一个目录下,而且也不可能知道你会放入哪一个目录下,所以我们下载包后,放入文件夹,需要把环境变量加入环境变量中

import aaa # aaa是指向包下的__init__.p

aaa.f3() #直接可以调用,以文件夹的名字.模块名进行调用

posted @ 2018-12-19 22:13  clyde_S  阅读(180)  评论(0编辑  收藏  举报