- 作用
在python中,存在__init__.py的文件夹被认为是包。 __init__.py文件一般用来加载包内代码依赖资源和设定包的导出行为。
- 执行时机
第一次通过"import xxx"或"from xxx import yyy"的方式, 导入包、包内文件、包内代码时,会自动执行包的__init__.py文件。 因导入包、包内部文件、包内代码后,包会被缓存到sys.modules,下次执行相关导入时,不会再加载包,也不会再次执行__init__.py文件。
- 限制"from xxx import *"
在__init__.py文件中,设定__all__列表,可以限制通过"from xxx import *"方式导出包的类或方法。 示例:__all__ = ["SomeClass","somefunction"] 这种方式只会限制"import *",其他导出方式不受影响。