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