python代码中的__init__.py文件有什么用?
发布于 作者:苏南大叔 来源:程序如此灵动~

在python
代码文件中,经常会出现一个__init__.py
文件。顾名思义,这个文件就是用来初始化python
结构的,可以自动执行一些代码。

大家好,这里是苏南大叔的博客“程序如此灵动”。本文讲述python
代码中的__init__.py
文件。测试环境:win10
,python3.6.8
。
import
时,自动执行代码
在执行import
引入模块代码的时候,会自动执行模块下的__init__.py
文件里面的相关代码,路径上涉及的多个__init__.py
文件都会被自动执行。测试文件目录结构如下:

主程序代码是:
其余文件的代码,都是:
可以看到主程序import
的路径上,涉及了2个__init__.py
文件,都被自动执行了。而且在同一个py
文件中,这些自动执行的__init__.py
文件,每个只执行一次,这些表现上来看,有点像php
的require_once
函数。

特殊变量__all__
在__init__.py
定义变量__all__
,可以控制import *
的具体条目。想让谁代表大家就加载谁,定义一个数组就行了。

不定义__all__
的话,目前的测试结果是不引入任何文件,似乎有些不够智能。

主程序代码如下:
不能写成
直接报错。

相关链接
总结
未知的东西太多,学不过来。承认自己的平凡,挺好的。


