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