热线电话:13121318867

登录
2019-04-01 阅读量: 643
python中包和库的运用

当一个文件夹下有   init   .py时,意为该文件夹是一个包(package),其下的多个模块(module)构成一个整体,而这些模块(module)都可通过同一个包(package)导入其他代码中。

其中   init   .py文件 用于组织包(package),方便管理各个模块之间的引用、控制着包的导入行为。

该文件可以什么内容都不写,即为空文件(为空时,仅仅用import [该包]形式 是什么也做不了的),存在即可,相当于一个标记。

但若想使用from pacakge_1 import *这种形式的写法,需在  init  .py中加上:   all    = [‘file_a’, ‘file_b’] #package_1下有file_a.py和file_b.py,在导入时   init   .py文件将被执行。

但不建议在   init   .py中写模块,以保证该文件简单。不过可在   init   .py导入我们需要的模块,以便避免一个个导入、方便使用。

其中,   all   是一个重要的变量,用来指定此包(package)被import *时,哪些模块(module)会被import进【当前作用域中】。不在   all   列表中的模块不会被其他程序引用。可以重写  all  ,如   all    = [‘当前所属包模块1名字’, ‘模块1名字’],如果写了这个,则会按列表中的模块名进行导入。

在模糊导入时,形如from package import *,*是由__all__定义的。

精确导入,形如 from package import *、import package.class。

   path   也是一个常用变量,是个列表,默认情况下只有一个元素,即当前包(package)的路径。修改   path   可改变包(package)内的搜索路径。

当我们在导入一个包(package)时(会先加载   init   .py定义的引入模块,然后再运行其他代码),实际上是导入的它的   init   .py文件(导入时,该文件自动运行,助我们一下导入该包中的多个模块)。我们可以在   init   .py中再导入其他的包(package)或模块 或自定义类。

15.1137
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子