DevOps-Programming Basics with Python 13
在程式撰寫的時候,總不可能一個py文字檔就寫完一整個應用程式
可能會寫許多Function散落在不同的py文字檔內
並提供給其他py檔程式調用
這邊就要引入Python的Modules寫法
先清空除了main以外的py文字檔
當前的main.py有以下內容:
建立helper.py當成module,把上述兩個Function都移過去:
剩下的main.py:
helper.py:
這時候main.py要引用到helper.py內的Function
就需要import來導入module
寫法如下:
但是這時候helper還是有錯誤:
所以要改造Function變成傳入參數的形式
使用端就要餵入參數:
這時候可以注意到main.py內不需要days_to_units這個Function
days_to_units這個Function僅用來服務helper.py內的validate_and_execute
但假若helper內有20個Function,但我們main只需要其中一個的狀況
而目前main裡面的寫法其實是引入了helper全部的Function
所以可以改寫為如下僅引入我們要的validate_and_execute這個Func.:
另外module還能夠提供變數
例如:
轉移到helper內:
也可能會有人這樣寫,也可以做到引用所有helper內的物件:
上述兩種不同引入helper這個module型式
如果使用上述第二種直接import module的型式
則還可以替module改名變成:
講師這邊還是偏好使用第一種:
但是實際專案可能有上百個py檔,還是依據情況選要調用module的方式
Built-In Python Modules
上面都在描述自建的Modules如何建立與使用
其實還有Python本身就有的Modules可以調用(LINK):
常用像是math的module:
或是如下:
有這些已經刻好的Module就不用在自己刻了
Built-In Python Modules Example
os相關:
撰寫log相關:
其他還有很多有用的Module
接著會有個問題是,如何確認哪一個Module是從哪來的?
哪些是自製的?還是Python原生
也可以點檔名右鍵打開目錄:
就會看到:
其中往下可以找到剛剛用的getLogger這個Function
往下就會看到