總結下最近學習learning python模塊部分的收穫吧。
python
模塊是最高級別的程序組織單元,它將程序代碼和數據封裝起來以便重用。ide
1、模塊搜索路徑學習
模塊必須在導入以後才能使用,因此首先就須要明白如何肯定模塊的搜索路徑。編碼
一、程序主目錄編譯器
二、PYTHONPATH(環境變量)目錄it
三、標準連接庫目錄編譯
四、任何.path文件的內容class
以上4部分組成了sys.path的內容。import
2、模塊編譯變量
在找到合適的模塊文件以後,編譯器會將.py代碼文件編譯成爲.pyc「字節碼」文件,字節碼是python特有的一種編碼,.py文件編譯成爲.pyc的字節碼文件,而後解釋.pyc字節碼文件,能夠加快程序的執行速度,.pyc也是能夠直接運行的,所以,發佈.pyc文件能夠避免發佈源代碼。只有被導入的文件纔會在硬盤中留下字節碼文件,頂層文件的字節碼文件在程序執行完以後就被丟棄了。
3、模塊導入
模塊的導入主要有兩種方法,一是使用improt語句,二是使用from ... import ...。我的偏向於使用import語句,由於這樣能比較清晰的告訴讀者每個變量是從哪一個模塊中導入的。imp.reload()能夠實現模塊重載。
4、模塊包
若是模塊在一個較深的目錄中,此時的導入就須要使用模塊包導入的技巧了。如模塊在目錄dir0/dir1/dir2/mod.py下,但只有dir0在模塊的檢索目錄列表中,此時直接使用import mod語句是沒法導入mod模塊的。咱們能夠import dir1.dir2.mod來導入此模塊,但有兩個前提條件:一、dir0必須在模塊的檢索目錄中;二、在dir一、dir2目錄下必須存在__init__.py文件,此文件能夠爲空,但必須存在,目的是防止重名的目錄出如今模塊檢索目錄的前面,在模塊導入是產生歧義。