一、物件導向程式設計 (OOP)
學習目標:
- 理解物件導向程式設計的概念和優勢。
- 掌握類別、物件、繼承、多型等 OOP 的核心要素。
- 能夠使用 OOP 的方法設計和開發 Python 程式。
內容:
1. OOP 簡介:
- 什麼是物件導向程式設計? 優點與缺點。
- 程序式程式設計 vs. 物件導向程式設計。
2. 類別和物件:
- 定義類別和建立物件。
- 類別屬性和實例屬性。
- 類別方法和實例方法。
3. 繼承和多型:
- 繼承的概念和語法。
- 方法覆蓋和多型。
4. 封裝和資訊隱藏:
- Getter 和 Setter
5. OOP 設計原則:
- SOLID 原則:
- 單一職責原則(Single responsibility principle, SRP)
- 開放封閉原則(Open-Close principle, OCP)
- 里氏替換原則(Liskov substitution principle, LSP)
- 接口隔離原則(Interface segregation principle, ISP)(會省略)
- 依賴反轉原則(Dependency inversion principle, DIP)
- 設計模式
- Factory Pattern
- Singleton Pattern
二、進階函數式程式設計
使用進階函數式簡化程式碼,提高程式效率。
- map、filter、reduce 等進階函數的使用。
- lambda 匿名函數
三、decorator(裝飾器)
- decorator使用場景
- 如何創建 decorator
- function decorator
- class decorator
四、closure(閉包)
五、Python Networking Library
- 了解網路程式設計的基本概念。
- 熟悉 Python 中常用的網路套件,例如: `requests`、`urllib`、API 呼叫等
六、使用 Pandas、NumPy 進行資料處理和分析
1. NumPy 簡介:
- NumPy 陣列的概念和特性。
- 陣列的建立和操作。
- 陣列的數學運算和統計函數。
2. Pandas 簡介:
- Series 和 DataFrame 的概念和特性。
- 資料的讀取和寫入 (例如: CSV、Excel)。
- 資料的清洗、轉換和聚合。
3. 資料分析
- 資料探索和描述性統計分析
- 資料關聯性分析和迴歸分析
4. 資料視覺化
- 使用 Matplotlib 和 Seaborn 套件繪製圖表。
- 資料視覺化的最佳實踐。
七、多執行緒
學習目標:
- 了解多執行緒的概念和優勢。
- 熟悉 Python 中 `threading` 套件的使用。
內容:
1. 多執行緒簡介:
- 什麼是多執行緒?
- 多執行緒 vs. 多程序。
2. `threading` 套件:
- 建立和啟動執行緒。
- 執行緒同步和鎖定。
- 執行緒間的通訊。
3. thread pool(執行緒池):
- 使用 `concurrent.futures` 套件管理 thread pool。
八、Regular Expression(正規表示式)
學習目標:
- 了解 Regular Expression 的概念和語法。
- 熟悉 Python 中 `re` 套件的使用。
- 能夠使用 Regular Expression 進行字串匹配、搜尋和替換。
內容:
1. Regular Expression 簡介:
- 什麼是 Regular Expression?
- Regular Expression 的應用場景。
2. Regular Expression 語法:
- 字元匹配 (例如: `.`、`[]`、`^`、`$`)。
- 量詞 (例如: `*`、`+`、`?`、`{n}`)。
- 分組和捕獲 (例如: `()`、`|`)。
3. `re` 套件:
- `re.match()`、`re.search()`、`re.findall()` 等函數的使用。
- 編譯 Regular Expression 模式。
4. Regular Expression 應用:
- 字串驗證 (例如: 驗證 email 地址、手機號碼)。
- 字串搜尋和替換。
Comments
Post a Comment