【Python】为什么要写__init__.py
文章目录
- PackageA(`__init__特性`)
- 应该往__init__.py里放什么东西?
- 1、包的初始化
- 2、管理包的公共接口
- 3、包的信息
正常我们直接导入就可以执行,但是在package的时候,有一种__init__.py的特殊存在
引入moduleA.py,执行main.py,输出moduleA
PackageA(__init__特性
)
加入package,在PackageA中加入__init__.py,优先执行__init__.py
应该往__init__.py里放什么东西?
1、包的初始化
环境变量、logging等
2、管理包的公共接口
包需要在外面被使用的东西
如果在main里引用moduleA里的x变量,会报错
ImportError: cannot import name 'x' from 'PackageA' (D:\Desktop\Python\Base\initPy\PackageA\__init__.py)
这样就需要在__init__.py中先引用
__all__的用法
通过*引入的话,all中的值才能被引用
3、包的信息
版本 version
作者 author
…
print("成大事者,不拘小节")