套件
- 從一行的程式碼 → 多行程式碼 → 獨立的程式 → 同一個目錄下的多個模組
- 要擴充 Python 應用程式,可以將「模組」架構為所謂的「套件(package)」的檔案階層
【範例】使用不同類型的氣象預測文字:一個供隔天使用,一個供下星期使用
- 製作一個名為 source 的目錄
- 裡面建立兩個模組:daily.py 與 weekly.py
- 放一個名為 init.py 的檔案:它可以是空的,但有了它之後,Python 才可以將容納它的目錄視為套件
- 每一個模組裡面都有一個名為 forecast 的函式
- 每日的版本會回傳「一個字串」
- 每週的版本會回傳「含有七個字串的串列」
- emumerate()函式會拆解一個串列,將串列的每一個項目餵給 for 迴圈,並對每一個項目添加一個紅利數字
準備檔案
主程式:boxes/weather.py
from sources import daily, weekly
print("Daily forecast:", daily.forecast())
print("weekly forecast:")
for number, outlook in enumerate(weekly.forecast(), 1)
print(number, outlook)
模組1:boxes/sources/daily.py
def forecast():
'fake daily forecast'
return 'like yesterday'
模組2:boxes/sources/weekly.py
def forecast():
"""Fake weekly forecast"""
return ['snow', 'more show', 'sleet', 'freezing rain', 'rain', 'fog']
source 的目錄下,名為 init.py
它可以是空的,但有了它之後,Python 才可以將容納它的目錄視為套件
執行主程式 weather.py
$ python weather.py Daily forecast: like yesterday Weekly forecast: 1 snow 2 more snow 3 sleet 4 freezing rain 5 rain 6 fog 7 hail