1.模組內容
模組可以包含可執行語句以及函式定義,可執行語句只有在第一次import或當作指令碼直接執行時才會執行。每個模組有自己的私有符號表,所以不會造成不同模組之間的變數汙染。
2.匯入模組
模組匯入的三種方式:
3.執行模組
執行的兩種方式:
4.模組搜尋路徑
既然要匯入模組,直譯器就需要查詢匯入的具體模組位置,以確定應該匯入哪個模組。它首先尋找該名稱的內建模組,然後查詢sys.path變數的目錄列表。
內建模組–》sys.path目錄列表
sys.path的目錄新增函式:
import sys
'/ufs/guido/lib/python'
)
5.模組快取
為了加速模組載入,__ pycache __目錄快取了每個模組的編譯檔案,名稱為module.version.pyc。允許來自不通發行版和不通版本python已編譯模組的共存。
6.包6.1包的定義方法:
通過用「a.'b』的來點號模組名來構造python模組命名空間。使用__ init __.py才能讓包含該檔案的目錄變成包。
6.2 絕對引入與相對引入
包的模組相對匯入:
1)匯入同目錄下的兄弟包
from . import echo
2)匯入父包的兄弟包
from .. import formats
3)匯入父包的兄弟包下的模組
from ..filters import equalizer
包的模組絕對匯入:
import sound.effects.echo #使用時使用全名
sound.effects.echo.echofilter(
input
, output, delay=
0.7, atten=
4)
from sound.effects import echo
echo.echofilter(input, output, delay=0.7, atten=4)
from sound.effects.echo import echofilter
echofilter(input, output, delay=0.7, atten=4)
python模組詳解 hashlib
用於加密相關的操作,在python3中替代了md5和sha模組,主要提供sha和md5演算法。md5import hashlib m hashlib.md5 呼叫md5方法 m.update b hello print m.digest b x8b x1a x99s xc4a x12 x96 xa8...
python模組詳解 shelve
shelve模組是乙個簡單的k,v 將記憶體資料通過檔案持久化的模組,可以持久化任何pickle可以支援的python資料。簡單的說對 pickle的更上一層的封裝。寫檔案import shelve d shelve.open test4 這個檔案不用存在,執行自動生成 name hello chi...
python模組詳解 filecmp
簡介 filecmp是python內建的乙個模組,用於比較檔案及資料夾的內容,它是乙個輕量級的工具,使用非常簡單 兩個主要的方法 比較兩個檔案的內容是否匹配。引數f1,f2指定要比較的檔案的路徑。可選引數shallow指定比較檔案時是否需要考慮檔案本身的屬性 通過os.stat函式可以獲得檔案屬性 ...