Python 模組和套件之間有什麼區別?

Barbara Streisand
發布: 2024-11-22 04:58:15
原創
941 人瀏覽過

What's the Difference Between a Python Module and a Package?

理解 Python 中的模組與套件

在 Python 中,模組和套件之間的區別主要在檔案系統層級觀察。讓我們深入研究它們的主要區別:

  • 模組:任何 Python 檔案都被視為模組。模組的名稱源自檔案的基本名稱,不含“.py”副檔名。
  • 套件: 套件是 Python 模組的集合。與模組不同,包由包含附加「__init__.py」檔案的目錄表示。該檔案將套件與僅包含 Python 腳本的目錄區分開來。套件可以相互嵌套到任意深度,只要每個目錄都有其「__init__.py」檔案。

雖然這種差異在檔案系統組織中很明顯,但值得注意的是,當您匯入模組或套件時,Python 建立的對應物件始終是「模組」類型。但是,在導入包的情況下,只能直接存取包的「__init__.py」檔案中定義的變數、函數和類,而不是子包或子模組。

範例

考慮Python標準中的“xml”包庫:

  • “xml”目錄包含一個“__init__.py”檔案和幾個子目錄。
  • 其中一個子目錄“etree”包含一個“__init__” .py”檔案和一個“ElementTree.py”檔。

導入包時交互地:

import xml
登入後複製

您注意到“xml”對象的類型為“module” 。 C 實作的內建模組,如“sys”,但通常不包括這種差異關於模組和套件的討論。

以上是Python 模組和套件之間有什麼區別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板