文章

第14天:模組與套件

課程簡介

Python 的模組(Module)和套件(Package)是用來組織和重用程式碼的重要機制。模組是 Python 檔案,裡面包含定義與函數;套件則是由多個模組組成的目錄,目錄下有一個 __init__.py 檔案。透過模組和套件,可以將程式碼拆分為易於管理和重用的部分。今天我們將學習如何導入模組、創建自己的模組和套件,以及使用 Python 的標準庫。


學習內容

1. 導入模組

Python 提供許多內建的模組,可以直接導入使用,例如 mathrandom 等。我們可以使用 import 語句來導入模組,然後使用模組中的函數或變數。

範例:

1
2
3
4
5
6
# 導入 math 模組
import math

# 使用模組中的函數
result = math.sqrt(16)
print(result)  # 輸出: 4.0

2. 導入模組的部分內容

如果只想使用模組中的某些函數或變數,可以使用 from 語句來導入特定部分,這樣不需要每次都使用模組名稱作為前綴。

範例:

1
2
3
4
5
6
# 從 math 模組導入特定函數
from math import sqrt

# 直接使用 sqrt 函數
result = sqrt(25)
print(result)  # 輸出: 5.0

3. 導入並重新命名模組

有時候模組名稱過長或會與現有變數名稱衝突,可以使用 as 關鍵字來重新命名模組。

範例:

1
2
3
4
5
6
# 將模組重新命名
import math as m

# 使用重新命名後的模組
result = m.sqrt(9)
print(result)  # 輸出: 3.0

4. 創建自己的模組

我們可以將一個 Python 檔案視為一個模組,並通過 import 導入。在同一目錄下建立一個 .py 檔案,然後在另一個檔案中導入使用。

範例: 假設我們有一個名為 mymodule.py 的檔案:

1
2
3
# mymodule.py
def greet(name):
    return f"Hello, {name}!"

我們可以在另一個檔案中導入並使用這個模組:

1
2
3
4
5
# main.py
import mymodule

message = mymodule.greet("Alice")
print(message)  # 輸出: Hello, Alice!

5. 創建套件

套件是由多個模組組成的目錄。為了使一個目錄成為套件,必須在該目錄下建立一個空白的 __init__.py 檔案。這樣可以將多個模組組織在一起,並通過套件導入。

範例: 目錄結構如下:

1
2
3
4
mypackage/
    __init__.py
    module1.py
    module2.py

module1.py

1
2
def add(a, b):
    return a + b

module2.py

1
2
def subtract(a, b):
    return a - b

使用套件中的模組:

1
2
3
4
5
# main.py
from mypackage import module1, module2

print(module1.add(5, 3))  # 輸出: 8
print(module2.subtract(10, 4))  # 輸出: 6

6. 使用 Python 標準庫模組

Python 提供了一個強大的標準庫,涵蓋了許多常見的功能。你可以在程式中使用它們來解決日常的問題,例如處理日期、操作檔案系統、執行數學計算等。

常見的標準庫模組包括:

  • datetime:處理日期和時間。
  • os:與作業系統進行交互,例如檔案系統操作。
  • sys:提供訪問 Python 解譯器的變數與函數。

範例:

1
2
3
4
5
6
7
8
9
10
11
import datetime

# 獲取當前日期和時間
now = datetime.datetime.now()
print(now)

import os

# 獲取當前工作目錄
current_directory = os.getcwd()
print(current_directory)

教學重點

  • 導入模組:學會使用 import 語句導入模組,並使用模組中的函數和變數。
  • 部分導入:使用 from ... import ... 導入模組的特定部分。
  • 自訂模組:學會創建自己的模組並在其他程式中使用。
  • 套件的概念:瞭解如何組織模組並建立套件,方便管理和重用。
  • 使用 Python 標準庫:熟悉一些常用的標準庫模組,並學會解決日常問題。

任務

  1. 建立一個名為 calculator.py 的模組,裡面包含 add()subtract() 函數。然後在另一個檔案中導入並使用這些函數。
  2. 創建一個套件,裡面有兩個模組,一個模組包含乘法運算,另一個模組包含除法運算。使用套件中的模組完成基本運算。
  3. 導入 datetime 模組,並列印出當前的日期和時間。
  4. 使用 os 模組來列印當前的工作目錄並列出該目錄下的所有檔案。
本文章以 CC BY 4.0 授權