在 Python 模組中使用 import 的“最佳實踐”是什麼?
import 語句,就像 Python 中的任何其他語句或關鍵字一樣,應該按照最佳實踐正確使用和新增到程式碼中。讓我們逐一瞭解它們:
多個匯入
多個匯入通常應該在單獨的行上。例如:
import numpy import pandas import matplotlib
始終位於頂部
匯入語句總是放在檔案的頂部,即
- 在任何模組註釋和文件字串之後
- 在模組全域性變數和常量之前。
例如:
# import the numpy module import numpy
按順序匯入模組
一個好的做法是按照以下順序匯入模組:
- 標準庫模組 – 例如 sys、os、getopt、re
- 第三方庫模組 – 例如 ZODB、PIL.Image 等。
- 本地開發的模組
絕對匯入
建議使用絕對匯入,因為它們通常更易讀,並且如果匯入系統配置錯誤,它們的效能通常更好。例如:
import mypkg.sibling from mypkg import sibling from mypkg.sibling import example
萬用字元匯入 (fromimport *) 應該避免
避免使用萬用字元匯入,因為它們使名稱空間中存在的名稱不清楚,從而使讀者和許多自動化工具都感到困惑。
迴圈匯入
為了避免迴圈匯入的問題,有時需要將匯入移動到函式或類中。Gordon McMillan 說:
“當兩個模組都使用“import <module>”形式的匯入時,迴圈匯入是可以的。當第二個模組想要從第一個模組中獲取一個名稱(“from module import name”)並且匯入位於頂級時,它們就會失敗。這是因為第一個模組中的名稱還不可用,因為第一個模組正在忙於匯入第二個模組。”
如果第二個模組只在一個函式中使用,那麼可以很容易地將匯入移動到該函式中。當呼叫匯入時,第一個模組將完成初始化,第二個模組可以進行其匯入。
如果某些模組是特定於平臺的,則可能還需要將匯入移出程式碼的頂層。在這種情況下,甚至可能無法在檔案的頂部匯入所有模組。在一個好的選擇是在相應的特定於平臺的程式碼中匯入確切的模組。
廣告