Python 模組和套件:組織程式碼項目

了解 Python 模組和套件。了解如何匯入文件、建立大型專案、利用標準庫以及使用絕對導入和相對導入。

在編輯器中嘗試

概述

隨著應用程式的成長,將所有程式碼保存在單一檔案中變得無法管理、讀取和調試。 Python 透過將程式碼組織到模組和套件中來解決這個問題。模組只是一個包含變數、函數、類別和可執行語句的 Python 檔案(以「.py」結尾)。透過將程式碼拆分為邏輯模組,您可以建立一個乾淨的、可重複使用的程式碼庫,該程式碼庫易於測試並在不同的應用程式之間共用。

要在另一個模組中使用一個模組中的程式碼,Python 使用“import”關鍵字。您可以匯入整個模組(例如「import math」)、匯入特定屬性(例如「from math import pi, sqrt」)或使用別名導入模組以保持程式碼簡潔(例如「import pandas as pd」)。 Python 的導入系統在解析導入之前搜尋特定的路徑列表,從目前目錄開始,然後是安裝目錄和標準函式庫。

包是以目錄結構組織的模組的集合。要將目錄定義為包,傳統上它包含一個名為“__init.py”的檔案(儘管這對於Python 3.3+ 中的命名空間包是可選的)。此結構可讓您將相關模組分組到單一命名空間下。例如,名為「database」的套件可能包含模組「connection.py」和「queries.py」。您可以使用點符號匯入它們的內容:「import database.connection」。掌握模組和套件是建立可擴展、可用於生產的 Python 應用程式的關鍵。

程式碼和執行輸出

使用 Python 的導入系統存取數學函數並使用自訂別名。

import_demo.py
在編輯器中嘗試
import math
from math import sqrt as square_root

# Calculate mathematical constants and values
val = 16
result = square_root(val)
pi_value = math.pi

print(f"Square root of {val} is {result}")
print(f"Value of Pi: {pi_value:.4f}")
print(f"Cosine of 0 is {math.cos(0)}")
端子輸出
Square root of 16 is 4.0
Value of Pi: 3.1416
Cosine of 0 is 1.0

逐步實施

  • 將業務邏輯與路由處理程序分開
  • 跨應用程式使用標準庫實用程序
  • 將程式碼發佈為可重複使用的開源程式庫

常見問題解答

__init.py的目的是什麼?

它將目錄初始化為 Python 套件。它也可用於在套件層級公開特定的子模組或變量,以便於匯入。

如何安裝外部模組?

您可以透過命令列(例如 pip install requests)使用 Python 的套件管理器 pip,它從 PyPI 下載並安裝套件。

相關主題

推薦的 Python 資源

透過相關的互動式教學、備忘單和程式碼比較來擴展您的知識。