這是一個完整的 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 測試:
- Run in Postman
- Get, Post, Put, Delete測試
- 簡易的 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 教學