標籤:python python模組 python基礎
可以將代碼量較大的程式分割成多個有組織的、彼此獨立但又能互相互動的程式碼片段,這些自我包含的有組織的程式碼片段就是模組
模組表現形式為以.py結尾的代碼檔案
一個檔案被看作一個獨立的模組,一個模組也可以被看作是一個檔案。
模組的檔案名稱就是模組的名字加上副檔名.py
每個模組都有自己的名稱空間
Python程式架構
一個python程式通常包括一個頂層程式檔案和其他的模組檔案(0個,1個或多個)
頂層檔案:包含了程式的主要控制流程程
模組檔案:為頂層檔案或其他模組提供各種功能性組件
模組首次匯入(或重載)時,Python會立即執行模組檔案的頂層程式碼,聲明函數對象,而位於函數體內的代碼直到函數被調用後才會執行。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/70/E9/wKiom1XBRJGz2Zm6AAD7hBgGV_4239.jpg" title="QQ20150730001634.png" alt="wKiom1XBRJGz2Zm6AAD7hBgGV_4239.jpg" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/70/E5/wKioL1XBS6XywYG0AAD7hBgGV_4584.jpg" title="QQ20150730001634.png" alt="wKioL1XBS6XywYG0AAD7hBgGV_4584.jpg" />
模組的執行環境
模組是被匯入的,但模組也可以匯入和使用其他模組,這些模組可以用Python或其他程式設計語言寫成
模組可內含變數、函數以及類來進行其工作,而函數和類可以包含變數和其他元素
如果打算以多個程式檔案來組織你的Python程式,只有一個檔案可以作為頂層執行檔案,可以在頂層包含很多程式控制流程,其他被匯入的檔案,都應該只包含類、變數、函數。
650) this.width=650;" title="QQ20150730001634.png" src="http://s3.51cto.com/wyfs02/M01/70/DD/wKioL1XANOjBCO4UAAEWFR8HTPE275.jpg" alt="wKioL1XANOjBCO4UAAEWFR8HTPE275.jpg" />
匯入模組
在匯入模組時只能使用模組名,而不是帶.py尾碼的模組檔案名稱。
匯入指定模組,會產生一個以模組名命名的名稱空間。
impor語句匯入模組:
import module
匯入時可以給名稱空間指定一個別名,如果使用別名,就只能使用別名調用了。
import module as module_alias
from-import 語句:
常用於只匯入指定模組的部分屬性至當前名稱空間
from module import name1[,name2,...]
650) this.width=650;" title="P5BSUJ1GQO]I)T`WGO0Z`IW.png " src="http://s3.51cto.com/wyfs02/M01/70/E0/wKiom1XAMwLxC7LxAAHbida73BI794.jpg" alt="wKiom1XAMwLxC7LxAAHbida73BI794.jpg" />
import 和 from 都是隱性指派陳述式
import將整個模組對象賦值給一個變數名
from將一個或多個變數名賦值給匯入此模組的模組中的同名對象,如果匯入的變數和本地變數重名,則會覆蓋本地的。
import的工作機制
1、尋找模組檔案,2、編譯成位元組碼,3、執行模組的代碼來建立其所定義的對象。注意:模組只有在第一次匯入時才會執行如上步驟;
後續的匯入操作只不過是提取記憶體中已載入的模組對象,reload()可用於重新載入模組;
模組搜尋
Python解譯器在import模組時必須先找到對應的模組檔案
程式的主目錄
Python path目錄
標準連結庫目錄
任何.pth檔案的內容
這四個組件組合起來即為sys.path所包含的路徑,而Python會選擇在搜尋路徑中的第一個符合匯入檔案名稱的檔案。
import sys
sys.path
sys.path.append(‘/tmp/python3/lib‘) 修改sys.path,添加python庫的搜尋路徑。
添加模組檔案的測試代碼
本文出自 “突破舒適區” 部落格,轉載請與作者聯絡!
Python 模組學習