python的__init__.py文件作用

在导入一个包的时候,Python 会根据 sys.path 中的目录来寻找这个包中包含的子目录,目录只有包含一个叫做 init.py 的文件才会被认作是一个包,并且后面的py文件都可以被认为是子模块而被import进来,而且__init__中的代码会在import的时候执行。
上例子
在pycharm中建了一个名叫test的包,下面自动生成__init__.py文件,我又新建了test1文件
python的__init__.py文件作用_第1张图片
在pycharm的终端(注意文件路径是test模块的父文件夹)输入python,然后import test模块
python的__init__.py文件作用_第2张图片

这时候先执行__init__.py,文件代码如下:

from .test1 import t2
from .test1 import t1
print("test")

from .test1 import t1意思是从test模块路径下的test1 python模块里面导入t1对象
test1.py代码如下:

print("it's test1.py")
class t1():
    print("it's class t1")
print("it's test1.py,repeat")
class t2():
    print("it's class t2")

因为调用了test1模块,所以里面的所有语句和类里面的语句都被执行,但是只执行一次,后面再from .test1 import t1就不执行了
python的__init__.py文件作用_第3张图片
init.py执行完之后那两个import之后,就执行print(),输出了test

你可能感兴趣的:(Python图像处理)