在创建python包的过程中,IDE都会在包根目录下创建一个__init__.py文件,该Python文件默认是空的.目录结构如下: 从Finder中的目录就可以看出来,每个package实际上是一个目录(Directory),那么IDE是怎么识别它为package呢?没错,__init__.py的第一个作用就是package的标识,如果没有该文件,该目录就不会认为是package。 Python中的包和模块有两种导入方式:精确导入和模糊导入: from Root.Pack1 import Pack1Class import Root.Pack1.Pack1Class
模糊导入中的*中的模块是由__all__来定义的,__init__.py的另外一个作用就是定义package中的__all__,用来模糊导入,如__init__.py: __all__ = [ " Pack1Class " , " Pack1Class1 " ]
from Root.Pack1 import *a = Pack1Class.Pack1_AA( " Alvin " )a.PrintName()
__init__.py首先是一个python文件,所有还可以用来写python模块,但是不建议这么写,尽量保证__init__.py足够轻: [url=]  [/url] __all__ = [ " Pack1Class " , " Pack1Class1 " , " " ] class Init_AA: def __init__ (self,name): self.name = name def Greeting(self): print ( " Hello " ,self.name) [url=]  [/url]
from Root.Pack1 import *b = Init_AA( " test " )b.Greeting()
从上边的例子可以看出,__init__.py的主要作用是: 1. Python中package的标识,不能删除 3. 编写Python代码(不建议在__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__init__.py简单) |
|
更多Python学习资料可关注:itheimaGZ获取