這是一個完整的 Python 程式設計課程資源庫,涵蓋從基礎到進階的各種主題,包括網頁爬蟲、API 開發、資料庫操作、電腦視覺、AI 應用等多元內容。每個主題都附有實作範例,適合配合課程學習使用。
- 安裝Git Cli
- 在終端機
git clone專案git clone https://github.com/willismax/MediaSystem-Python-Course.git cd MediaSystem-Python-Course
uv 是新一代的 Python 套件管理工具,速度極快且使用簡單!
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# 或使用安裝腳本 (Windows)
.\scripts\setup-uv.ps1本專案提供了方便的啟動腳本,讓您可以快速開始學習:
Windows (PowerShell)
# 啟動 Flask 應用
.\scripts\run-flask.ps1
# 啟動 Jupyter Notebook
.\scripts\run-jupyter.ps1
# 在特定目錄啟動 Jupyter
.\scripts\run-jupyter.ps1 -Path "11.AI"Linux/macOS
# 給予執行權限(首次使用)
chmod +x scripts/*.sh
# 啟動 Flask 應用
./scripts/run-flask.sh
# 啟動 Jupyter Notebook
./scripts/run-jupyter.sh
# 在特定目錄啟動 Jupyter
./scripts/run-jupyter.sh "11.AI"詳細的腳本使用說明請參考 scripts/README.md
# 方法 1: 使用 uv run 直接執行 (自動管理環境)
cd 05.Flask/flask01
uv run app.py
# 方法 2: 執行 Jupyter Notebook
cd 03.Request
uv run --with jupyter jupyter notebook 網頁擷取_Request.ipynb
# 方法 3: 安裝特定套件後執行
uv run --with flask --with requests python app.py# 進入特定專案目錄
cd 05.Flask
# 使用 uv 建立虛擬環境並安裝套件
uv venv
uv pip install -r requirements.txt
# 啟動虛擬環境
# Windows
.venv\Scripts\activate
# macOS/Linux
source .venv/bin/activate
# 執行應用
python app.py# 安裝套件
uv pip install flask pandas requests
# 從 requirements.txt 安裝
uv pip install -r requirements.txt
# 列出已安裝套件
uv pip list
# 執行 Python 腳本 (自動處理依賴)
uv run script.py
# 執行 Python 互動式介面
uv run python- 官方說明
- 建虛擬機 venv
python -m venv venv
- 啟動 VM
# Windows .\venv\Scripts\activate # macOS/Linux source venv/bin/activate
- 安裝相關套件
pip install -r requirements.txt
- 離開 VM
deactivate
-
pipenv (需先
pip install pipenv,並在本機安裝對應的 Python 版本)pipenv --python 3.10
-
建立好資料夾要 CD 切換路徑
cd MediaSystem-Python-Course -
在 pipenv 安裝相依套件
以 requirements.txt 裝:
pipenv install -r requirements.txt
以 Pipfile 裝:
pipenv sync
-
進入環境執行服務
pipenv shell python app.py # 或未進入虛擬環境由本機執行 pipenv run python app.py -
移除虛擬環境
pipenv --rm
pip install -r requirements.txt
python app.py- 課程使用到的ipynb檔,在Colab執行
- 可在Colab建立GUI,輔助課程使用
- 網頁擷取與 API 資料存取教學
- 包含使用 Requests 函式庫進行網頁擷取
- 介紹如何存取開放資料 (Open Data) API
- 範例檔案包括:
網頁擷取_Request.ipynb: 基礎網頁擷取擷取API資料.ipynb: API 資料存取RequestsOpenData_HW.ipynb: 開放資料實作練習
- 需自行下載 webkit 等 Driver 測試,為進階爬蟲教學
- 適用於需要執行 JavaScript 的動態網頁爬蟲
- 可錄製腳本抓 HTML,再自己客製化
- 新一代的網頁自動化工具,支援多種瀏覽器
- 從基本網站服務到建立基本API
-
在 Fly.io 建立 LINE Bot ,服務以 Flask 框架實現,並包含 API 測試
-
在
config.py填入相關tocken -
服務包含:
- LINE 訊息傳送 (需LINE Channel acess token、Channel secret、LINE user id)
- LINE 文字與圖片訊息增加至 HackMD (需HackMD API、Imgure API)
- LINE 文字訊息翻譯
- LINE 文字訊息由 OpenAI 回應,並且記錄於 HhackMD (需OpenAI API)
-
建立 Tasks API 測試:
- 簡易的 pytest demo,寫好在終端機下
pytest指令測試 - 另外也裝
pytest-cov套件的話,pytest --cov=./可以測試覆蓋率Coveragepytest --cov=./ 或 pytest --cov-report=html
- Mediapipe 簡易操作
- 電腦視覺應用示範
- 建議使用 pipenv 虛擬環境,Python 3.8 以上版本
- 實用應用程式範例
- 包含 QRCode 產生器等工具
QRCode.ipynb: 在 Colab 上製作 QR Code- 可製作純黑白 QR Code
- 可加入背景圖片製作彩色或黑白 QR Code
- 支援 GIF 動態背景
- SQLite 資料庫基礎教學
SQLite資料庫CRUD.ipynb: 涵蓋資料庫的建立、查詢、更新、刪除等基本操作- 適合初學者學習資料庫概念與 SQL 語法
- AI 與大型語言模型 (LLM) 相關教學
- Gemini API 串接實作
- 範例檔案:
動手串接_LLM_API_入門教學(Gemini_).ipynb: Gemini API 入門教學在_Colab_終端機使用_Gemini_CLI.ipynb: 在 Colab 環境使用 Gemini CLIgemini_cli_colab_tutorial.ipynb: Gemini CLI 完整教學
- OpenAI API 應用範例
- 請配合課程使用,歡迎 issue 討論或發 PR (Pull Request)
- 如何發PR | W3HexSchool
- 極快的速度: 比 pip 快 10-100 倍
- 簡單易用: 單一指令即可安裝和執行
- 智能依賴管理: 自動解析和安裝依賴
- 跨平台一致性: Windows、macOS、Linux 使用體驗一致
- 無需預先安裝 Python: uv 可以自動下載所需的 Python 版本
- 零配置: 不需要額外的配置文件即可開始使用
# 傳統方式 (約 30-60 秒)
python -m venv venv
.\venv\Scripts\activate
pip install -r requirements.txt
# uv 方式 (約 3-5 秒) ⚡
uv venv
uv pip install -r requirements.txt如有任何問題或建議,歡迎:
- 開啟 Issue
- 提交 Pull Request
- 參考 如何發 PR 教學