python中的import、from import及import as的區別解析
首先介紹一下import和include的區別或者說import相對include的好處:
import導入的內容隻會被包含一次,在引入之前會檢測是否已經存在該模塊,不存在才會被引入,而include是不會做判斷的。使用import在遞歸包含的時候不會出錯,不會引起交叉編譯的問題。此外,使用include引入頭文件對其引入順序也有一定的要求。
import
import是python提供的用於導入模塊的機制,導入是的整個模塊的內容。模塊可以是py、pyc、pyd,可以是系統自帶的,也可以是自定義的。使用語法:#import os
python中所有加載到內存的模塊都存放到sys.modules中,在引入一個模塊之前,會先在列表中查找是否已經加載瞭該模塊,如果已經加載則隻用將模塊的名字加入到正在調用import模塊的local名字空間中;沒有加載則將該模塊載入到內存,並存放到sys.modules中。
from import
用於導入一個模塊中的某一個部分,比如一個函數或者一個類等。使用語法:from os import path 表示引入os模塊中的path
import as
用於引入一個模塊的同時為該模塊取一個別名。使用語法:import multiprocessing as mp 表示引入multiprocessing模塊並取別名為mp,在該文件的後續調用中mp就相當於是multiprocessing。
Python中import的as語法
在Python中,如果import的語句比較長,導致後續引用不方便,可以使用as語法,比如:
import dir1.dir2.mod
那麼,後續對mod的引用,都必須是dir1.dir2.mod
dir1.dir2.mod.X
那麼,為瞭簡化輸入,可以使用as語法:
import dir1.dir2.mod as m
那麼,後續對mod的引用,可以直接使用m
m. X
需要註意的是,使用as語法之後,隻能通過as後面名字來訪問導入的moudle
import mod as m m.X # OK mod.X # Error
下面提供as的完整語法格式,import和from都支持:
import modulename as name # 隻能通過name來引用 from modulename import attrname as name # 隻能通過name來引用
到此這篇關於python中的import、from import及import as的區別解析的文章就介紹到這瞭,更多相關python import from import內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- npm i報錯以及解決方案實戰案例
- Android Gradle模塊依賴替換使用技巧
- Mac中pyenv的安裝與使用教程
- 簡單談談Python中的模塊導入
- linux服務器快速卸載安裝node環境(簡單上手)