python代码中的__init__.py文件有什么用?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
在python
代码文件中,经常会出现一个__init__.py
文件。顾名思义,这个文件就是用来初始化python
结构的,可以自动执行一些代码。
大家好,这里是苏南大叔的博客“程序如此灵动”。本文讲述python
代码中的__init__.py
文件。测试环境:win10
,python3.6.8
。
import
时,自动执行代码
在执行import
引入模块代码的时候,会自动执行模块下的__init__.py
文件里面的相关代码,路径上涉及的多个__init__.py
文件都会被自动执行。测试文件目录结构如下:
主程序代码是:
from root.sub1 import s11
import root.sub1.s12
其余文件的代码,都是:
print(__file__)
可以看到主程序import
的路径上,涉及了2个__init__.py
文件,都被自动执行了。而且在同一个py
文件中,这些自动执行的__init__.py
文件,每个只执行一次,这些表现上来看,有点像php
的require_once
函数。
特殊变量__all__
在__init__.py
定义变量__all__
,可以控制import *
的具体条目。想让谁代表大家就加载谁,定义一个数组就行了。
不定义__all__
的话,目前的测试结果是不引入任何文件,似乎有些不够智能。
主程序代码如下:
from root.sub3 import *
不能写成
import root.sub3.*
直接报错。
相关链接
总结
未知的东西太多,学不过来。承认自己的平凡,挺好的。
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。