模組化的設計可以在撰寫大型程式感受到他的好處
怎麼說呢? 想想看,當你的程式碼來到了幾百甚至千行以上
維護上可想而知的困難,尤其是在debug或是想修改部分程式碼的時候...(要找很久之類...
所以這時候就可以用模組(Module)來提升程式碼的維護
但...隨著模組數量增量,這時又需要請出套件(Package)來好好整理這些模組(Module)
使用這麼多東西除了提高程式碼的維護及易讀性外,也可以大大提高程式碼的重複使用率(Reusability)
也就是類似的程式碼不用一直重寫,只要呼叫寫好的程式碼來應用就好
(模組的概念好比車子,假設今天輪胎壞掉,我更換輪胎就好,不需要再新買一台車
那我們就開始來介紹 模組(Module) 及 套件(Package) 吧!
目錄:
1. 模組(Module)的介紹
還記得上一話(第十六話-函式(function))的介紹嗎?
我們提到了當一段程式碼需要重複使用可以用方法(function)
(咦?這個跟模組有啥關係???
當眾多的方法(function)穿插在程式碼中,易讀性是非常低的
一下這裡有方法,一下又呼叫了甚麼
這時我們把相似的方法(function)集合起來合併成模組(Module)就會更好管理
這就是模組(Module)的用途
2. 模組(Module)的用法
首先,我們在左側的src資料夾底下新增一個模組(Module)
路徑: src > 滑鼠右鍵 > New > PyDev Module > 跳出一個對話框
在Name的欄位中輸入自己定義的名字,這也是模組的名字
輸入完後點選Finish就建立好模組了
假設我以一個專門印出字串為例子,所以我命名為print_info(只是舉例)
這時可以在左側發現,我們多了一個.py的檔案,print_info.py就是我們建立的模組
點選兩下,主畫面就會開啟print_info的頁面,我們就可以撰寫我們的模組內容了
假設在這個模組下撰寫了這三個方法,印出姓名、年齡、sayhi
回到我們的主程式first_py
在主程式的開頭進行匯入(import)的動作,讓編譯器知道你要匯入甚麼模組
3. 模組匯入(import)的語法
匯入的寫法是 : from 模組名稱 import 模組內的方法 as 自己可以再命名
from 就是我們要使用哪個模組
import 為匯入模組中哪個元件
as 為有時候元件名稱太長等因素,在當前匯入後可以用自己方便記的名字重新命名,但不影響原本的元件名稱,這樣後續呼叫時更容易,亦可省略
如下圖,我將元件name用pna來表示,使用時只要打pna("jason")即可,是不是方便許多
如果要將模組下的所有元件都匯入,可以用「*」來達成
或是...用更簡單的寫法,只是呼叫時的語法不太一樣
例如 : 「模組名稱 . 元件名稱」
若覺得模組名稱太長,也可以使用前面提到的as 像這樣
4. 套件(Package)的介紹
假設今天我們撰寫的模組越來越多,總希望能將這麼模組分門別類的整理
這時候就可以使用套件
5. 套件(Package)的用法
眼尖的各位,在上面練習新增模組時,會發現下面一個就是新增套件(package)了吧!
路徑 : srv > 點擊滑鼠右鍵 > New > PyDev Package
輸入套件(package)的名稱,例如我想把cal開頭的模組放到cal的套件中,我就輸入cal(舉例)
接著將cal開頭的模組用拖曳的方式,拉到套件cal底下就完成囉!
6. 套件匯入(import)的語法
套件在主程式中匯入(import)的語法和上述模組的類似
匯入的寫法是 : from 套件名稱 import 模組名稱 as 自己可以再命名
我從套件cal中匯入一個專門計算面積的模組(cal_area),並且再重新取名叫cal_a
(as可省略)
另一種寫法是 : import 套件名稱 . 模組名稱 as 自己可以再命名 (as可省略)
以上就是套件(Package)及模組(Module)的介紹!
用Python寫程式一點都不困難!
【Python-入門教學】 第一話 : 如何安裝Python?
【Python-入門教學】 第二話 : 用Python向世界問好! 你的第一支程式碼
【Python-入門教學】 第三話 : 這是數字...? 還是..文字?? 辨別資料的型態(型別)
【Python-入門教學】 第四話 : 變數是...會改變的數字? 變數的介紹
【Python-入門教學】 第五話 : 運算子?邊緣子?傻傻分不清楚。數學的基礎,四則運算加減乘除 - 運算子
【Python-入門教學】 第六話 : 字串就像烤串一樣,可拆可串還可算! - 字串的處理
【Python-入門教學】 第七話 : 資料一串接一串,就用串列來處理 - 串列(List)
【Python-入門教學】 第八話 : 不想讓串列元素隨意更動? 改用元組吧! - 元組(tuple)
【Python-入門教學】 第九話 : 我的『字典』裡沒有~放棄,因為我已經在學py了! - 字典(dict)
【Python-入門教學】 第十話 : 通通有~聽口令~集合! - 集合(set)
【Python-入門教學】 第十一話 : 除了算術、指定運算子,還有『比較』和『邏輯』運算子!
【Python-入門教學】 第十二話:如果...我就...不然...,常見的判斷 - if...elif...else
【Python-入門教學】 第十三話 : 日復一日,年復一年,一直重複就是迴圈 - for/while
【Python-入門教學】 第十四話 : 重複做的事情偶爾也想終止或是偷懶一次 - Break/Continue
留言列表