今天,我們將探討 模塊(Modules)與套件(Packages) 在 Python 中的應用。模塊是將相關程式碼進行封裝和組織的方式,讓我們可以更清晰地管理和重用程式碼,而套件則是模塊的集合。這不僅能使程式碼更具結構性,也有助於在專案中提升效率和可維護性。
模塊的概念
# module_example.py
def greet(name):
return f"Hello, {name}!"
將上述程式碼保存為 module_example.py
,即為一個模塊。
如何導入模塊
import
關鍵字來導入一個模塊,並使用其中的函式或變數:import module_example
print(module_example.greet("Alice"))
這樣,我們就能夠調用模塊中的函式 greet
,並輸出結果。
導入模塊中的特定功能
from ... import
語法:from module_example import greet
print(greet("Bob"))
這可以讓我們避免每次使用模塊時都要加上模塊名稱,方便使用。
建立套件
__init__.py
檔案的目錄,其中可以包含多個模塊。這個 __init__.py
檔案的存在,告訴 Python 這個目錄是一個套件。範例結構:
my_package/
├── __init__.py
├── module_one.py
└── module_two.py
在 my_package
中,我們可以將模塊組織起來,並通過以下方式來導入:
from my_package import module_one, module_two
print(module_one.some_function())
print(module_two.another_function())
使用標準庫模塊
os
模塊)、數學計算(math
模塊)等。import math
result = math.sqrt(16)
print(result) # 輸出:4.0
通過標準庫,我們能夠大大簡化開發過程,並避免重複造輪子。
模塊的優勢
任務一:建立一個模塊
math_operations.py
的模塊,包含加法、減法、乘法和除法的函式。然後建立另一個程式來導入這些函式並進行運算。任務二:建立一個套件
from ... import
語法來導入它們,完成一個完整的計算應用。任務三:使用標準庫模塊
random
模塊生成一個隨機數,並根據隨機數執行不同的數學操作(例如當隨機數大於 0.5 時進行加法,否則進行乘法)。這些任務涵蓋了模組和套件的建立與使用,以及如何整合 Python 的標準庫進行實際運用。下面是每個任務的詳細步驟與範例代碼。
math_operations.py
的模組,包含加法、減法、乘法和除法的函數。math_operations.py
的文件。math_operations.py
的範例代碼:# math_operations.py
def add(a, b):
return a + b
def subtract(a, b):
return a - b
def multiply(a, b):
return a * b
def divide(a, b):
if b == 0:
return "不能除以零"
return a / b
在另一個 Python 文件中或交互式 Python 環境中使用該模組:
import math_operations
result1 = math_operations.add(10, 5)
result2 = math_operations.subtract(10, 5)
result3 = math_operations.multiply(10, 5)
result4 = math_operations.divide(10, 5)
print(result1, result2, result3, result4)
from ... import
來導入模組。math_package
的目錄作為你的套件。basic_operations.py
和 advanced_operations.py
。math_package
目錄中,創建一個空的 __init__.py
文件,以標識該目錄為一個 Python 套件。math_package/
__init__.py
basic_operations.py
advanced_operations.py
basic_operations.py
的範例代碼:# math_package/basic_operations.py
def add(a, b):
return a + b
def subtract(a, b):
return a - b
advanced_operations.py
的範例代碼:# math_package/advanced_operations.py
def multiply(a, b):
return a * b
def divide(a, b):
if b == 0:
return "不能除以零"
return a / b
使用 from ... import
來導入模組並進行數學運算:
from math_package.basic_operations import add, subtract
from math_package.advanced_operations import multiply, divide
print(add(3, 2)) # 輸出: 5
print(subtract(7, 4)) # 輸出: 3
print(multiply(6, 3)) # 輸出: 18
print(divide(9, 3)) # 輸出: 3.0
random
模組生成一個隨機數。random.random()
函數生成 0 到 1 之間的隨機數。import random
from math_package.basic_operations import add
from math_package.advanced_operations import multiply
# 生成隨機數
random_number = random.random()
print(f"隨機數: {random_number}")
# 根據隨機數決定運算
a, b = 10, 5
if random_number > 0.5:
result = add(a, b)
operation = "加法"
else:
result = multiply(a, b)
operation = "乘法"
print(f"執行 {operation}: {a} 和 {b} 的結果是 {result}")
random.random()
生成 0 到 1 之間的浮點數。add
和 multiply
函數來進行運算。這些練習幫助你學習如何建立自己的模組和套件,並利用 Python 標準庫進行隨機數的運算和決策邏輯。
透過今天的學習,學生們應該能夠理解模塊和套件如何幫助我們組織程式碼並提升程式的可維護性。隨著專案規模的擴展,模塊化的程式設計能夠讓程式碼更加清晰,並使得開發工作更加高效。同時,熟悉 Python 的標準庫模塊也能讓我們在實際開發中更快速地解決問題。
希望今天的課程能夠幫助你更清楚模塊與套件的使用方式,並將其應用在你的 Python 開發過程中。