標籤:查詢 同檔案 就是 是你 9.png 結構 bdd roo 設定
一 Python模組簡介
Python模組:
可以將代碼量較大的程式分割成多個有組織,彼此間獨立但又能互相互動的程式碼片段,這些自我包含的有組織的程式碼片段就是模組
模組在物理形式上表現為以.py 結尾的代碼檔案
一個檔案被看做一個獨立的模組,一個模組也可以被看做是一個檔案
模組的檔案名稱就是模組的名字加上副檔名.py
每個模組都有自己的 名稱空間
Python 允許“匯入”其他模組以實現代碼重用,從而也實現了將獨立的代碼檔案組織成更大的程式系統
Python 中,模組也是對象
在一個模組的頂層定義(全域變數)的所有變數都在被匯入時成為了被匯入模組的屬性
二 Python 程式架構:
一個Python程式通常包括一個頂層檔案和其他的模組檔案(0個,1個或多個)
頂層檔案:包含了程式的主要控制流程程
模組檔案:為頂層檔案或其他模組提供各種功能性組件
模組首次匯入(或重載)時,Python會立即執行模組檔案的頂層程式碼(不在函數內的代碼),而位於函數體內的代碼直到函數被調用後才會執行
Python內建的模組稱為Python的標準庫模組
模組搜尋:
Python解譯器在import 模組是必須先找到對應的模組檔案
程式的主目錄
PYTHONPATH(如果設定了此變數)
標準連結庫目錄
任何.pth檔案的內容(如果存在.pth檔案)
這四個組件組合起來及sys.path所包含的路徑,而Python 會選擇在搜尋路徑中的第一個符號匯入檔案名稱的檔案
模組的匯入需要一個叫做“路徑搜尋”的過程,即在檔案系統“預定義地區”中尋找mymodule 檔案,這些預定義地區只不過是你的python搜尋路徑的集合,路徑搜尋和搜尋路徑是兩個不同的概念,前者是指尋找某個檔案的操作,後者是去查詢一組目錄。
預設搜尋路徑是在編譯或安裝時指定的,它可以在一個或兩個地方修改
一個是啟動 Python 的 shell 或命令列的 PYTHONPATH 環境變數。 該變數的內容是一組用冒號分割的目錄路徑。 如果你想讓解譯器使用這個變數, 那麼請確保在啟動解譯器或執行 Python 指令碼前設定或修改了該變數。
解譯器啟動之後, 也可以訪問這個搜尋路徑, 它會被儲存在 sys 模組的 sys.path 變數裡。不過它已經不是冒號分割的字串, 而是包含每個獨立路徑的列表。下面是一個 Unix 機器搜尋路徑的範例。切記, 搜尋路徑在不同系統下一般是不同的。
這是一個列表,因此我們可以進行修改,如果你需要匯入的模組的目錄不在sys.path中,則可以使用append()進行對此列表操作,以匯入此模組
將上述目錄加入到sys.path中
查看
模組匯入
只要這個列表中包含這個檔案,它就會被正確的匯入,當然,這個方法是將其匯入到檔案的尾部,也可以使用insert()將其匯入指定位置
三 pycharm中模組的匯入1 同一個檔案夾中的配置
A 定義一個被匯入的模組
B 匯入模組到目標模組
C使用name擷取模組的名稱,當為模組內部時其值為mian,若為匯入的,則其名為模組名
一個模組檔案可以同時支援頂層執行(作為頂層檔案)或被匯入(作為模組檔案)
每個模組都有個名為name的內建屬性,python會自動化佈建該屬性
如果檔案是以頂層程式檔案執行,在啟動時,name的值為“main”
如果是被匯入,則name的值為模組名
可以在模組檔案中檢測自己的name順序ing,以之實現在執行時運行指定的代碼,常用於模組的自我測試
D將其匯入執行模組進行查看:
E使用if語句進行判斷,已達到不將被匯入模組的執行結果在匯入模組中執行:
F將其匯入並驗證:
G將該配置匯入到指定模板:(ctrl+alt+s)進行開啟其配置:
2 將被匯入模組和匯入模組放置在不同的檔案夾中
包:包用於將一組模組歸併到一個目錄中,此目錄及為包,目錄名及為包名
包是一個有層次的檔案目錄結構,定義了一個由模組和子包組成的Python應用程式執行環境
基於包,Python在執行模組匯入時可以指定模組的匯入路徑
Import dir1.dir2.mod1
要使用如下的package1,則py_pkg_mod容器必須要在模組中搜尋路徑中
Import package1.mod1
包匯入語句的路徑內的每個目錄內都必須有init.py 檔案
init.py可包含python代碼,但通常為空白,僅用於扮演包初始化的掛鈎、替目錄產生模組命名空間以及使用目錄匯入時實現from* 行為的角色
pycharm中包的建立:
使用alt+ins快速鍵可以指定建立的是檔案還是包,Python package為帶有init.py的Python包。
A修改其配置使得不同檔案夾的檔案可以直接匯入(選擇Sources Root)
B再次執行則可以進行匯入並運行:
C取消則不能運行:
D在被匯入模組所在的檔案夾建立init.py的檔案並將其本地模組匯入到此init.py檔案中
E在目標檔案中匯入該模組並運行,則可以正常運行
三 from ... import ...的應用
For-import 語句
常用於匯入指定模組放入部分屬性至當前名稱空間(不需要加上該模組的名稱)
From module import name1[,name2[nameN]]
Import 和 from都是隱形指派陳述式
Import 將整個模組對象賦值給一個變數名(模組名)
From 將一個或多個變數名賦值給匯入此模組的模組中的同名對象,如果當前環境中有與匯入模組相同的名稱,其將會被新匯入的名稱所覆蓋
模組就是名稱空間
import的工作機制
1 找到模組檔案
在指定的路徑下搜尋模組檔案
2 編譯成位元組碼
檔案匯入時就會編譯,因此,頂層檔案的.pyc 位元組碼檔案在內部使用後會被丟棄,只有被匯入的檔案才會留下.pyc檔案
3 執行模組的代碼來建立其所定義的對象
模組檔案中的所有語句會依次執行,從頭至尾,而此步驟中任何對變數名的複製運算,都會產生所得到的模組檔案的屬性
注意:模組只在第一次匯入時才會執行如上步驟,
後續的匯入操作只不過是提取記憶體中已載入的模組對象
reload()可用於重新載入模組
A 相同檔案夾的模組匯入:
B 全域變數的定義
C 匯入全域變數並運行,則可以運行。
D 匯入函數並運行,則可以運行。
E 修改匯入模組的模組名或函數、裝飾器名使用as 即可修改:
四 、第三方模組的安裝
基本資料的擷取相關的軟體:(itchat)
1 下載並安裝Python-pip
如此則表示安裝成功:
2 安裝itchat(外掛程式)
在連網的狀況下進行安裝
使用pip安裝
使用pycharm安裝
使用ctrl+alt+s進入此介面並按右上方的加號(+)
進入之進行尋找itchat,並按左下角的intall Package 即可安裝
python之模組和包