Python 中的 __init__.py
Shivam Arora
2021年10月2日
在 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
的主要原因
- 使用
__init__.py
將允許其他使用者不知道包中函式的確切位置。
your_package/
__init__.py
file1.py
file2.py
...
fileN.py
- 使用
__init__.py
將有助於初始化一些細節,例如頂部的日誌記錄。
import logging.config
logging.config.dictConfig(Your_logging_config)
__init__.py
有助於簡化檔案的匯入。函式fn()
可以從位於包中的檔案filename.py
中匯入。
from filename import fn()