python学习之模块&包的引用

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

名词解释:

模块:一个程序文件

包:相当于一个类库,打包发布后相当于c#中的dll, 包中可包括若干个模块,比如main.py就是一个模块,对于test2文件下的所有模块组成一个包

对于一个包而言,注定是要被其它模块进行引用,所以需要一件初始化信息,比如包的路径,这些信息都是依赖包下的__init__py文件中,对于包下的子包(命名空间下的子命名空间)每一级都会存在__init__py文件

具体可参照下图

下面讲述如何在代码中去引用模块或者包

1:在主程序main.py中引用PRovide.py模块,并且执行其中的方法

import provide;

provide.stringProvider("hello");

或者

from provide import stringProvider;

stringProvider("hello");

或者

from provide import stringProvider;

a=stringProvider;

a("hello");

2:在主程序main.py中引用test2类库下的模块,并且执行其中的方法

我们要访问test2下的tester 中的info.py模块的方法,因为类库跟模块不在同一个目录中,所以我们必须要加入一个上层路径

关于访问不同目录的方法有许多种,可以参照http://python.usyiyi.cn/python_343/tutorial/modules.html#packages-in-multiple-directories

代码为

import sys;

sys.path.append("..");

因此可以向上面一样进行引用

from test2.tester import info;

info.printinfo();

如果写为import test2.tester.info;

则方法的引用也要同样写完整:test2.tester.info.printinfo();

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航