目录

Python为什么要写__init__.py

【Python】为什么要写__init__.py

正常我们直接导入就可以执行,但是在package的时候,有一种__init__.py的特殊存在

https://i-blog.csdnimg.cn/direct/75aac5c307004cf8a1613b4a7a0f3aa0.png

引入moduleA.py,执行main.py,输出moduleA

PackageA( __init__特性 )

https://i-blog.csdnimg.cn/direct/ded71df9b52d4beba52baaf009b32a9b.png

加入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)

https://i-blog.csdnimg.cn/direct/58a8a6226d5c4fbc87316ce805f551f6.png

这样就需要在__init__.py中先引用

https://i-blog.csdnimg.cn/direct/d97fe8c2fb4d4521bda670b38de0cf57.png

__all__的用法

通过*引入的话,all中的值才能被引用

https://i-blog.csdnimg.cn/direct/f0e9e8945a3843ff95ce524bf5c03a7f.png

3、包的信息

版本 version

作者 author

https://i-blog.csdnimg.cn/direct/fa26e261b89a4f3eaa864725adc57070.png


print("成大事者,不拘小节")