1. 程式人生 > >python中__import__與import的區別

python中__import__與import的區別

最近在閱讀一些python程式碼,發現有的專案裡面不直接使用“import”,而是通過“__import()__”函式來匯入模組。

那麼這兩者究竟有什麼不同呢? 

  1. import匯入的是一個標準模組,而標準模組的概念是一個資料夾裡面必須包含__init__.py檔案。它的作用更像是一種宣告,且import模組進來之後,萬一原本的模組有什麼變化,可以通過reload()進行重新載入。
  2. __import__()作為一個函式,只能接受字串引數,返回值可以直接用來操作,通常在動態載入的時候用到這個函式,最常見的情景就是外掛功能的支援。
__import__與import的對比
import __import__
傾向 固定式宣告 動態載入
適用場景 已經明確知道專案中哪些模組 模組可以動態插拔、動態引入執行
舉例 import os  #匯入固有的os模組 __import__('employee').find(name='李林')   #動態載入剛安裝的員工管理模組,並且查詢一個叫“李林”的人