模組化的設計可以在撰寫大型程式感受到他的好處

怎麼說呢? 想想看,當你的程式碼來到了幾百甚至千行以上

維護上可想而知的困難,尤其是在debug或是想修改部分程式碼的時候...(要找很久之類...

所以這時候就可以用模組(Module)來提升程式碼的維護

但...隨著模組數量增量,這時又需要請出套件(Package)來好好整理這些模組(Module)

使用這麼多東西除了提高程式碼的維護及易讀性外,也可以大大提高程式碼的重複使用率(Reusability)

也就是類似的程式碼不用一直重寫,只要呼叫寫好的程式碼來應用就好

(模組的概念好比車子,假設今天輪胎壞掉,我更換輪胎就好,不需要再新買一台車

那我們就開始來介紹 模組(Module) 及 套件(Package) 吧!

目錄:

1. 模組(Module)的介紹

2. 模組(Module)的用法

3. 模組匯入(import)的語法

4. 套件(Package)的介紹

5. 套件(Package)的用法

6. 套件匯入(import)的語法


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

【Python-入門教學】 第十五話 : 凡事都有例外,讓我們try看看 - try...except

【Python-入門教學】 第十六話 : 數學有公式,程式有函式 - 函式(function)

文章標籤
全站熱搜
創作者介紹
創作者 iLoveTech 的頭像
iLoveTech

TechShare

iLoveTech 發表在 痞客邦 留言(0) 人氣(3)