Python for Beginners (17)|模組 (Module)及套件(Package)

Python 模組(Module)及套件(Package)入門教學

by KC
0 comment

本單元測驗:

本文章將探討 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 做為練習環境的話,可以參考下圖使用。

  1. 點擊檔案的 icon。
  2. 在檔案區的空白處,按下滑鼠右鍵,點擊「新增檔案」。
  3. 建立檔名為 MyFirstModule.py 的檔案。
  4. 輸入此模組內容。
  5. import 此模組並進行運算。

2. import 介紹

我們將程式碼進行模組化後,主程式要如何使用呢?我們可以使用 import 配合不同敘述方式,來導入你想要的模組來使用。import 相關敘述語句如下:

  1. import 模組名稱
  2. import 模組名稱 as 模組別名
  3. from 模組名稱 import 模組名稱.模組成員名稱
  4. 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)下的模組 (AreaVolume)

本文中,我們討論了 Python 模組(Module)套件(Package)的用法,一方面可提高程式碼的重用性(Reusable),另一方面也有利於以後程式進行單元測試及維護。希望本篇文章能幫助您快速理解 Python 中模組(Module)套件(Package)的觀念。並透過一些範例來進行動手練習,後續會持續分享 Python 相關學習文章給有興趣的初學者。

4. Python 練習

學習環境:Google Colab (學習請按我)

練習範例:有 (本文提供)

Quiz:有 (近期推出)

如果你喜歡這篇文章歡迎訂閱、分享(請載名出處)追蹤,並持續關注最新文章。同時 FB 及 IG 也會不定期提供國內外教育與科技新知。

Related Posts

Leave a Comment

error: Content is protected !!