在 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”)並且匯入位於頂級時,它們就會失敗。這是因為第一個模組中的名稱還不可用,因為第一個模組正在忙於匯入第二個模組。”

如果第二個模組只在一個函式中使用,那麼可以很容易地將匯入移動到該函式中。當呼叫匯入時,第一個模組將完成初始化,第二個模組可以進行其匯入。

如果某些模組是特定於平臺的,則可能還需要將匯入移出程式碼的頂層。在這種情況下,甚至可能無法在檔案的頂部匯入所有模組。在一個好的選擇是在相應的特定於平臺的程式碼中匯入確切的模組。

更新於:2022年9月19日

2K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告