在__init__.py文件中import语句的作用

来源:互联网 发布:中国移动大数据 编辑:程序博客网 时间:2024/06/08 07:41

package的目录结构如下图
这里写图片描述
在pack1目录下的init_import_func.py中的定义了两个方法,代码如下

def func1():    print "pack1's func1"def func2():    print "pack1's func2"

在pack1目录下的_init_.py中导入init_import_func.py定义的两个方法

from .init_import_func import func1from .init_import_func import func2

在package目录下的init_import_test.py中测试代码如下

from pack1 import func1from pack1 import func2def main():    func1()    func2()if __name__ == '__main__':    main()

运行后输出
这里写图片描述

从运行的结果可以看到,在_init_.py文件中import的东西可以在其他地方使用的时候直接导入。又如使用flask框架里redirect方法,我们一般使用的时候都是写这样的导入语句,

from flask import redirect

但是redirect不是flask包下模块里的方法。查看的flask包下面的_init_.py源码

from werkzeug.utils import redirect

可以看到redirect是从另一个模块导入的方法。总的来说,_init_.pyimport语句是为了暴露某些模块,方便使用。

0 0
原创粉丝点击