1、作用
每个package实际上是一个目录(Directory),那么IDE是怎么识别它为package呢?没错,init.py的第一个作用就是package的标识,如果没有该文件,该目录就不会认为是package。
2、通过openpyxl库解析__init__在实际场景中的作用
提问:一般按照路径来说,我们只导入了openpyxl对象,为什么我们创建Workbook对象,可以直接使用
openpyxl.Workbook()调用,而不是下面这种
回答:
取决于openpyxl下的init.py文件,,在我们导入import openpyxl的时候,其实默认导入了这个init的内容,又因为导入时会默认执行被导入文件中的内容(除if name=='main下),所以导入openpyxl时,就执行了这条导入Workbook类的语句,所以能够不写
源码:
可以看到,导入openpyxl的时候,默认调用了init文件下的导入语句,导入了workbook文件夹(相当于又导入了workbook文件夹下面的导入语句,导入了.workbook(当前目录下的workbook.py文件下的Workbook类,放到了openpyxl中,有了值后,然后再接着后面的import Workbook,就能拿到了