在學習Python的過程中,import是較早接觸的一個關鍵字,Python有很多的內建函式庫,使用import導入後即可使用,或是透過pip安裝後import使用,import也為我們組織專案結構提供了可能,在開發大型系統時,整個專案有很多的資料夾和文件,都是透過import來進行連接的,所以搞清楚import的工作機制很有必要。
一、import的基本用法
#1.匯入套件名稱
import os
2.從套件中導入函數
from math import pow
3.導入包並賦予別名
import math as m
4.從包中導入常數並賦予別名
from math import pi as p
5.導入包中所有內容
from math import *
相關推薦:《Python影片教學》
#二、Python組織程式碼的方式
1.一個文件中的元素
如果整個程式只有一個文件,這個文件中就有變數、函數、類別這些元素可供操作。
2.模組(module)
簡單來說模組就是一個.py文件,例如:在同一個路徑下有a.py和b.py兩個文件,那麼在a .py中就可以import b,然後透過b.xxx就可以使用b.py中的變數、函數、類別。
3.套件(package)
簡單理解套件就是包含一個__init__.py的資料夾,例如:在同一個路徑下有一個a.py檔案和一個b資料夾,在b資料夾中有一個__init__.py文件,在a中import b就是導入了b這個包,其實就是__init__.py這個文件。
4.__all__
在套件的__init__.py中定義的__all__變數,這樣就可以透過匯入套件名稱來呼叫套件內各文件中的元素,例如:在同一個路徑下有一個a.py文件和一個b資料夾,在b資料夾中有__init__.py和c.py兩個文件,
c.py中內容為:
__init__.py的內容為:
a.py的內容為:
運行結果:
程式運行後多了一個__pycache__資料夾,當一個模組第一次被導入時,它就被彙編為字節碼,並將字節碼寫入一個同名的.pyc文件。後來的導入操作會直接讀取.pyc檔而不是.py檔。 (除非.py檔案的修改日期更新,這種情況會重新產生.pyc檔)
#5.為什麼用.c來引入?
#前面的a.py可以使用import b來導入b.py中的元素,為什麼b資料夾中的__init__.py中不能import c呢?因為__init__.py其實代表的是b這個資料夾,c並沒有跟它在一級目錄下,所以要使用.c來引入c.py中的元素。
6.多層目錄怎麼import?
看下面一張圖就夠了:
#三、搜尋路徑
導入模組時,解譯器會搜尋sys.path列表,這個列表中保存著一系列目錄。
不同的環境中sys.path是不一樣的,Python會依序去查找列表的路徑,找到後就會返回,所以先後順序很重要,第一個''是指當前目錄或指定的相對路徑,例如你目前目錄中有一個math.py文件,當你import math的時候相當於導入了這個math.py文件,而不是標準函式庫math。
以上是python的import怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!