Python 中的 __init__.py

Shivam Arora 2021年10月2日
Python 中的 __init__.py

在 Python 中,有两种类型的包,称为常规包和命名空间包。常规包存在于 Python 3.2 和以前的版本中。这些包用作包含 __init__.py 文件的目录,该文件被隐式调用或执行。

Python 中的 __init__.py 文件让解释器知道一个目录包含模块中的 Python 代码。此文件可以具有与任何其他 Python 模块相同的代码。

名为 __init__.py 的文件用于将目录标记为 Python 包。

例如,

mydir/spam/__init__.py
mydir/spam/module.py

如果删除该文件,Python 将无法在目录中搜索子模块,从而导致模块导入失败。

在 Python 中使用 __init__.py 的主要原因

  1. 使用 __init__.py 将允许其他用户不知道包中函数的确切位置。
your_package/
  __init__.py
  file1.py
  file2.py
    ...
  fileN.py
  1. 使用 __init__.py 将有助于初始化一些细节,例如顶部的日志记录。
import logging.config
logging.config.dictConfig(Your_logging_config)
  1. __init__.py 有助于简化文件的导入。函数 fn() 可以从位于包中的文件 filename.py 中导入。
from filename import fn()

相关文章 - Python Package