註:本筆記對應江灝老師在B站的教學視頻https://www.bilibili.com/video/BV1zE411V79p 1.1模塊 Python程式框架 將一個程式分割為源代碼文件的集合,以及將這些部分連接在一起的方法。 Python源代碼文件:*.py 一個py文件是一個模塊(moudle) ...
註:本筆記對應江灝老師在B站的教學視頻https://www.bilibili.com/video/BV1zE411V79p
1.1模塊
Python程式框架
將一個程式分割為源代碼文件的集合,以及將這些部分連接在一起的方法。
Python源代碼文件:*.py
-
一個py文件是一個模塊(moudle)
模塊是Python中的最高級別組織單元,它將程式代碼和數據封裝起來,以便重用。最高層次的代碼復用。
模塊的三個角色:
-
代碼重用
-
系統命名空間的劃分(模塊可理解為變數名的封裝,即模塊就是命名空間)
-
實現共用和服務
-
-
多個模塊可以組成一個包(package)
-
包的本質就是一個文件夾,那麼文件夾唯一的功能就是將文件組織起來(包必須包含一個init.py”的文件)
1.2導入包和模塊
import module_name from module_name impot name import x #導入整個x模塊實體,引用其中的函數需要用實體.裡面的函數(推薦) from x import * #導入整個模塊的內容,引用其中的函數只需要世界用函數名,不需要.(使用方便,但容易衝突,因為就相當於把模塊的內容打在了本文件中)。 from x import a,b,c
1.3模塊導入的搜索機制
模塊導入
首先Python解釋器檢查module registry(sys.modules)部分查看模塊是否導入,是的話就使用當前存在的模塊對象,否的話就先創建一個新的、空的module對象,然後在sys.module字典中插入該模塊對象,最後載入該模塊代碼所對應的對象。
模塊搜索機制
①程式的主目錄--->②PYTHONPATH(環境變數)目錄--->③標準庫鏈接目錄--->④任何.pth文件的內容
以上四個組件組合起來就變成了sys.path,其保存了模塊搜索路徑在機器上的實際配置,可以通過列印內置的sys.path列表來查看這些路徑
搜索路徑①③是系統自定義的,而②④可以用於拓展路徑,從而加入自己的源代碼目錄。