Coding筆記(3):Module 模組

JianJie
Jul 27, 2021

--

當程式開始組建時,就會產生越來越多Function,但在一檔案內擁有過多Function時,也會造成混亂狀態,因此會想把Function拆解為多個.py檔,而拆解為.py時這個動作就是建立一個模組Module,檔案名稱就是模組名稱。

如: arithmetic.py

圖為arithmetic.py中之function,將function或class等其餘物件分割至其他.py即為創建了一個Module,其Module名稱為檔案名稱(不含副檔名),其檔案內之所有物件皆附屬於該Module下。

而將程式碼模組化後,可以使用Import引用所需要的function或class,將模組引用到其他程式中使用,如以下三種方式:

第一種直接引用整個Module,注意import只需要輸入Module名稱就好,不須加.py副檔名。而要使用其中的Function時,則是輸入 "Module名稱.Function名",如

第二種則是從Module引用特定物件。

第三種則是從Module引用所有物件,但在引用過程中可能發生相同命名fucntion或class產生衝突,造成Method Overriding。而要注意一點,import *只會引用Function,無法引用Module。

第二、三種使用Function的方式就是直接呼叫Function名稱即可以使用

而在主程式main.py中引用Module並且執行後,會多一個_pycache_資料夾,

而該資料夾中會有引用Module的已編譯檔案(.pyc),當下一次執行主程式main.py時,會直接載入該模組,省略編譯動作。

而每次編譯都會檢查Module及已編譯檔案,假如有經過修改,則會再次編譯。但主程式main.py並不會產生.pyc檔,因為主程式每次都會編譯。

假如要在同一環境下都要可以使用此Module,只需要將檔案放到Python環境的路徑下,即可以Import。

--

--

JianJie
JianJie

Written by JianJie

Image Processing / Computer Vision / Deep Learning

No responses yet