python package概念
package是模块的集合,每一个Package的根目录下面都应当有一个init.py 文件。当解释器发现目录下有这个文件时,他就会认为这是一个Package,而不是一个普通的目录。
init.py为空
package在系统路径中,可通过from package import module或from package.module import 成员名 导入,如myPackage下有模块moduleInPackage,模块有函数fun(),可通过
import myPackage.moduleInPackage
moduleInPackage.fun()
或
from myPackage import moduleInPackage [as 别名]
moduleInPackage.fun() [别名.fun()]
或
from myPackage.moduleInPackage import fun [as 别名]
fun() [别名()]
调用fun()
注意不能使用前者不能使用
from myPackage import *
要使用通配符需要定义init.py的内容
后者可以改为
from myPackage.moduleInPackage import *
init.py不为空
http://mikegrouchy.com/blog/2012/05/be-pythonic-__init__py.html
该文件的作用是将类,方法导入至包层面,如在该文件中添加
from moduleInPackage import fun
则可以直接通过package导入方法fun()
from myPackage import fun
在init.py通过定义all = [‘module1’,’module2’,…..]可将list中的模块通过import *引入,该特性可以根据包嵌套