python package概念

转载自:点击打开链接

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()
  • 1
  • 2
  • 3

from myPackage import moduleInPackage [as 别名]
moduleInPackage.fun() [别名.fun()]
  • 1
  • 2
  • 3

from myPackage.moduleInPackage import fun [as 别名]
fun() [别名()]
  • 1
  • 2
  • 3

调用fun()

注意不能使用前者不能使用

from myPackage import *
  • 1
  • 2

要使用通配符需要定义init.py的内容

后者可以改为

from myPackage.moduleInPackage import *
  • 1
  • 2

init.py不为空

http://mikegrouchy.com/blog/2012/05/be-pythonic-__init__py.html

该文件的作用是将类,方法导入至包层面,如在该文件中添加

from moduleInPackage import fun
  • 1
  • 2

则可以直接通过package导入方法fun()

from myPackage import fun
  • 1
  • 2

init.py通过定义all = [‘module1’,’module2’,…..]可将list中的模块通过import *引入,该特性可以根据包嵌套


猜你喜欢

转载自blog.csdn.net/tobe_numberone/article/details/80866590