標籤:共用庫 出現 檔案名稱 執行 順序 建立檔案 nbsp ini 錯誤
一、模組 1.模組
1)定義
一系列功能的集合體,在Python中py檔案就是一個模組
2)模組的類別
a.使用Python編寫的py檔案
b.已經被編譯成共用庫或者DLL的C 或者 C++ 擴充
c.把一系列模組組織在一起的檔案夾(註:檔案夾下有一個__init__.py檔案,該檔案成稱之為包)
d.使用 C 編寫並連結到Python解譯器的內建模組
3)為什麼要實用模組
a.重用功能
b.拿來主義,提高開發效率
2.模組的匯入方法
1)方法一:
import 模組名
調用模組內功能: 模組名.模組名名稱空間中的名字
一次匯入之後,直接引用第一次匯入的結果,不會重複執行檔案模組中的功能
匯入時執行三件事:
a.建立檔案名稱空間
b.執行模組對應檔案,把名字放在建立的名稱空間中
c.在當前執行檔案中拿到一個模組名,該模組指向1建立的名稱空間
# 匯入和調用模組內的功能import timeres = time.sleep(5)# 匯入模組後起別名import socketserver as sockserver# 一行匯入多個模組# import xx,ss,yy....
2)方法二:
from 模組名 import xxx(名字)
首次匯入模組,前兩件事和import匯入的方法一樣,第三件事直接拿xxx(屬於執行檔案的名稱空間),xxx是指向模組中對應的值
優點:不加首碼,代碼比較精簡
缺點:容易與當前執行檔案名稱空間中的名字重複,導致無法引用
# 匯入方法from time import sleep# 全部匯入from time import sleep *
3)通過__name__區分py檔案的兩種用途
a.if __name__ == ‘__main__‘ 檔案被當做指令碼執行
b.等於模組名時,檔案被當做模組匯入
4)模組的搜尋路徑
記憶體 > 內建模組 > sys.path
強調:
sys.path的第一個值為當前執行檔案的檔案夾
通過搜尋順序可以看出,通過from匯入模組或者開發人員把當前執行檔案的名字或者檔案內的對象定義成引用的模組的名字時,會出現無法引用模組的錯誤
二、包1.包
1)定義
包是一種通過使用 ‘.模組名 ‘ 來組織Python模組名稱空間的方式,具體說包就是一個含有__init__.py檔案的檔案夾,建立的目的就是為了用檔案夾/模組組織起來
注意:
a.在Python3.x中,即使包下沒有__init__.py檔案,匯入包也不會出錯,而在Python2.x中,包下必須存在該檔案
b.建立包的目的不是為了運行,而是被匯入使用,包只是模組的一種形式,其本質就是模組
2.為什麼使用包
包是有檔案夾組織起來的模組,檔案夾的功能就是將模組組織起來,隨著功能越寫越多,我們將無法將所有功能都放在一個檔案夾中,於是通過檔案夾把模組組織起來,以提高程式的結構性和可維護性
參考: http://www.cnblogs.com/linhaifeng/articles/6379069.html#_label10
Python全棧-day14-模組和包