文章目錄
本單元測驗:
本文章將探討 Python 的模組(Module)及套件(Package),並利用它們促進並強化模組化編程(Modular Programming)的機制。這樣的機制主要是希望將大型且複雜的編程任務,將其分解為獨立、更小、更易於管理的子任務或模組的過程,同時可以提高程式碼的簡單性、可重用性(Reusable)及易於維護。大家可以參考下圖,將對模組(Module)及套件(Package)先有一個整體架構想法,我們將在後面依序為大家介紹。
1. 模組 (Module)
我們來看看模組的一些重點如下:
- 模組(Modules) 是指包含Python語句及定義,每一個檔案(script)相當於是一個模組(module),裡頭可以定義函式(functions)、類別(classes)和變數(variable)。
- 我們可以利用模組(Modules)來將較大的程式,分解成較小且好管理的檔案,同時模組也提供代碼可重複使用的特性。
- 可以將常用函式(Functions)定義在模組內,並將其導入(import),而不是將定義或功能複製到其他相關程式中。
- 如果把一個模組(Module)想成一個檔案,那一個套件(Package)就是一個目錄了。
- 有數以千計的套件(Packages)可提供使用,例如
- Numpy
- Matplotlib
- Scikit-learn
- ……
範例 1:建立第一個模組
輸入以下內容並將其另存為 MyFirstModule.py
然後 import 這個自己建立的模組 (Module),並輸入相關參數,Python 就會將參數傳至相關模組並進行運算後將值回傳。
如果讀者是使用 Google Colab 做為練習環境的話,可以參考下圖使用。
- 點擊檔案的 icon。
- 在檔案區的空白處,按下滑鼠右鍵,點擊「新增檔案」。
- 建立檔名為 MyFirstModule.py 的檔案。
- 輸入此模組內容。
- import 此模組並進行運算。
2. import 介紹
我們將程式碼進行模組化後,主程式要如何使用呢?我們可以使用 import 配合不同敘述方式,來導入你想要的模組來使用。import 相關敘述語句如下:
- import 模組名稱
- import 模組名稱 as 模組別名
- from 模組名稱 import 模組名稱.模組成員名稱
- from 模組名稱 import *
下面依序四種範例用法,讀者可以試試看。
範例 2:import 模組名稱
範例 3:import 模組名稱 as 模組別名
範例 4:from 模組名稱 import 模組名稱.模組成員名稱
範例 5:from 模組名稱 import *
我們試著結合前面所提自行建立模組 Area.py,並且將幾種不同的 import 語法做練習(如下圖)。
3. 套件 (Package)
那什麼是套件(Package)呢?套件是一個包含模組集合的簡單目錄。包含了一個或多個的模組(Module),並且擁有__init__.py檔案,解譯器透過此文件檔會將其視為一個套件。如果讀者想要尋找適當的套件來使用,一方面可以藉由搜尋引擎尋找,更推薦大家可以到 Python Package Index 網站尋找許多由 Python 社群開發共享不錯的的軟體。
我們試著用下面範例來說明專案(Project)、套件(Package)、模組(Module)、主程式間的彼此關係。
範例 6:幾何功能套件(package) – 距離及長度
我們分別建立下面結構的資料夾及模組名稱
- 專案名稱(Project):My Project
- 套件名稱(Package):Geometry
- 模組名稱(Module):Distance、Slope
- 主程式:MyFirstPackage.py
其結構示意圖及對應的內容如下圖。
模組:Area.py
模組:Volume.py
引用(import) 套件(Geometry)下的模組 (Area、Volume)
本文中,我們討論了 Python 模組(Module)及套件(Package)的用法,一方面可提高程式碼的重用性(Reusable),另一方面也有利於以後程式進行單元測試及維護。希望本篇文章能幫助您快速理解 Python 中模組(Module)及套件(Package)的觀念。並透過一些範例來進行動手練習,後續會持續分享 Python 相關學習文章給有興趣的初學者。
4. Python 練習
學習環境:Google Colab (學習請按我)
練習範例:有 (本文提供)
Quiz:有 (近期推出)
如果你喜歡這篇文章歡迎訂閱、分享(請載名出處)與追蹤,並持續關注最新文章。同時 FB 及 IG 也會不定期提供國內外教育與科技新知。
【Python for Beginner 系列文章】
Python for Beginners (1)|Python 介紹及相關開發環境簡介
Python for Beginners (2)|變數 (Variables) 及關鍵字 (Keywords)
Python for Beginners (3)|敘述 (Statement)、縮排 (Indentation) 及註解 (Comments)
Python for Beginners (4)|運算子 (Operators)、輸入 (Input)、輸出 (Output)及 import 簡介
Python for Beginners (5)|各類運算子 (Operators) 詳細介紹與使用
Python for Beginners (6)|數值 (Numeric) 資料型態介紹與使用
Python for Beginners (7)|字串 (String) 資料型態介紹與使用
Python for Beginners (8)|布林 (Boolean) 資料型態介紹與使用
Python for Beginners (9)|串列 (List) 資料型態介紹與使用
Python for Beginners (10)|元組 (Tuple) 資料型態介紹與使用
Python for Beginners (11)|集合 (Set) 資料型態介紹與使用
Python for Beginners (12)|字典 (Dictionary) 資料型態介紹與使用
Python for Beginners (13)|條件判斷式 – if 相關敘述及使用
Python for Beginners (14)|迴圈控制 – while loops
Python for Beginners (15)|迴圈控制 – for loops
Python for Beginners (16)|函式 (Functions)
Python for Beginners (17)|模組 (Module)及套件(Package)
Python for Beginners (18)|檔案處理 (File Handling)