感謝您提交詢問!我們的一位團隊成員將在短時間內與您聯繫。
感謝您提交預訂!我們的一位團隊成員將在短時間內與您聯繫。
課程時長 28 時間:
課程簡介
第一天 — 穩健的 Python 基礎與工具
現代 Python 特性與類型系統
- 類型基礎、泛型(Generics)、Protocols 及 TypeGuard
- 資料類別(Dataclasses)、凍結資料類別及 attrs 概覽
- 模式匹配(PEP 634+)及慣用寫法
程式碼品質與工具
- 程式碼格式化器與 Linter:black, isort, flake8, ruff
- 使用 MyPy 和 pyright 進行靜態類型檢查
- Pre-commit 鉤子及開發者工作流程
專案管理與封裝
- 使用 Poetry 及虛擬環境進行依賴管理
- 套件佈局、進入點(entry points)及版本控制最佳實踐
- 建置及發佈套件至 PyPI 和私有註冊表
第二天 — 設計模式與架構實踐
Python 中的設計模式
- 建立型模式:工廠(Factory)、建造者(Builder)、單例(Singleton)(Python 風格變體)
- 結構型模式:適配器(Adapter)、外觀(Facade)、裝飾器(Decorator)、代理(Proxy)
- 行為型模式:策略(Strategy)、觀察者(Observer)、命令(Command)
架構原則
- 將 SOLID 原則應用於 Python 程式碼庫
- 六角形/乾淨架構(Hexagonal/Clean Architecture)及邊界設定
- 依賴注入模式及配置管理
模組化與重用
- 設計函式庫代碼與應用程式代碼的差異
- API、穩定介面及語意化版本控制(Semantic Versioning)
- 處理配置、密鑰及特定環境設定
第三天 — 並發、非同步 IO 與效能
並發與平行處理
- 執行緒基礎及 GIL(全球解鎖指標)的影響
- 使用多重處理(Multiprocessing)及程序池處理 CPU 密集任務
- 何時使用 concurrent.futures 與 multiprocessing 的區分
使用 asyncio 進行非同步程式設計
- Async/await 模式、事件循環(event loop)及取消機制
- 設計非同步函式庫及與同步代碼的互操作性
- IO 密集模式、背壓(backpressure)及速率限制
剖析與最佳化
- 剖析工具:cProfile, pyinstrument, perf, memory_profiler
- 最佳化熱路徑,並在適當時候使用 C 擴充或 Numba
- 測量延遲、吞吐量及資源使用率
第四天 — 測試、CI/CD、可觀察性與部署
測試策略與自動化
- 使用 pytest 進行單元測試及 fixtures;測試組織
- 使用 Hypothesis 進行屬性基礎測試及合約測試
- 模擬(Mocking)、猴子打補丁(monkeypatching)及測試非同步代碼
CI/CD、發佈與監控
- 將測試及品質門檻整合至 GitHub Actions/GitLab CI
- 使用 Docker 及多階段建置(multi-stage builds)建立可重現的容器
- 應用程式可觀察性:結構化記錄、Prometheus 指標及追蹤(tracing)
安全性、強化與最佳實踐
- 依賴審計、SBOM(軟體物料清單)基礎及漏洞掃描
- 輸入驗證與密鑰管理的secure編碼實踐
- 執行時強化:資源限制、使用者權限及容器安全
綜合專案與審查
- 團隊實驗室:設計並實現一個使用課程中模式的小型服務
- 專案的測試、類型檢查、封裝及 CI 管線
- 最終審查、程式碼批評及可行的改進計劃
總結與後續步驟
最低要求
- 具備強勁的中級 Python 程式設計經驗
- 熟悉物件導向程式設計(OOP)及基礎測試
- 有使用命令列(CLI)及 Git 的經驗
適用對象
- 資深 Python 開發人員
- 負責 Python 程式碼品質與架構的軟體工程師
- 處理 Python 程式碼庫的技術負責人及 MLOps/DevOps 工程師
客戶評論 (2)
一切都很完美
Florin Vrincianu
課程 - Python Programming Fundamentals
機器翻譯
與內容相關的實踐練習確實有助於更好地理解每個主題。此外,以講座開始課程並繼續進行實踐練習的方式很好,有助於將練習與之前介紹的講座內容聯繫起來。
Nazeera Mohamad - Ministry of Science, Technology and Innovation
課程 - Introduction to Data Science and AI using Python
機器翻譯