一、__init__.py
1、导入文件夹包的时候,会运行写在该文件夹包下的__init__.py文件
如 import package
import package.xxx
from package import xxx 等
这样会自动运行package文件夹下的__init__.py文件
2、__init__.py文件中可以定义该文件夹包的名字空间,定义的方法就是在__init__.py文件里导入这些名字
如在package文件夹下的__init__.py文件里,可以导入该文件夹下的所有py文件(模块),这样就将所有模块名导入了package的名字空间:
如package文件夹下有file1.py和file2.py两个模块
在package的__init__.py里from . import *就将file1和file2导入了package的名字空间
这样在别处import package导入package包,就可以正常写调用语句如package.file1.func(), package.file2.func()
二、__all__属性
文件夹包下的__ini__.py文件里可以定义__all__属性,作用是在别处模糊导入该包中的所有名字时(from package import *),可以隐藏包中名字空间中的一些名字