目錄大綱


開營介紹
1 課程活動進行方式
2 作業任務提交方式
3 Markdown 語法入門教學
4 社群共學討論方式
5 課程活動獎勵方式
6 規劃你的學習計劃
7 總結
Python 基礎:程式概論、變數、敘述與物件型別
1 程式設計概論
2 開始寫程式前,先學習使用文字描述、流程圖
3 隨堂練習:判斷投票年紀
4 隨堂練習參考解答:判斷投票年紀
5 電腦基礎架構
6 為什麼選擇 Python?
7 隨堂練習:執行 Python 直譯器
8 隨堂練習參考解答:執行 Python 直譯器
9 Python 世界都是物件
10 隨堂練習:將字串物件轉成小寫
11 隨堂練習參考解答:將字串物件轉成小寫
12 將物件指派(assign)給變數
13 隨堂練習:使用變數
14 隨堂練習參考解答:使用變數
15 變數命名(naming)
16 隨堂練習:變數命名抓錯
17 隨堂練習參考解答:變數命名抓錯
18 Python 物件型別
19 隨堂練習:BMI 身高體重指數
20 隨堂練習參考解答:BMI 身高體重指數
21 敘述(statement)與運算式(expression)和運算子及運算元
22 隨堂練習:猜猜四則運算結果
23 隨堂練習參考解答:猜猜四則運算結果
24 總結
Python 基礎:使用者輸入輸出與字串物件操作
1 Python 使用者輸入輸出
2 隨堂練習:使用者的年齡
3 隨堂練習參考解答:使用者的年齡
4 認識字元與字串
5 隨堂練習:跳脫字元
6 隨堂練習參考解答:跳脫字元
7 字串概論
8 隨堂練習:使用字串索引 index
9 隨堂練習參考解答:使用字串索引 index
10 字串切片 slice
11 隨堂練習:使用字串切片 slice
12 隨堂練習參考解答:使用字串切片 slice
13 字串長度 len
14 隨堂練習:使用字串長度 len
15 隨堂練習參考解答:使用字串長度 len
16 使用 in 確認子字串是否存在字串
17 隨堂練習:使用 in 確認子字串是否存在字串
18 隨堂練習參考解答:使用 in 確認子字串是否存在字串
19 字串串接 concat
20 隨堂練習:使用字串串接 concat
21 隨堂練習參考解答:使用字串串接 concat
22 重複顯示字串
23 隨堂練習:使用重複字串
24 隨堂練習參考解答:使用重複字串
25 隨堂練習:計算使用者輸入字串長度的程式
26 隨堂練習參考解答:計算使用者輸入字串長度的程式
27 字串進階操作
28 隨堂練習:搜尋字串 find
29 隨堂練習參考解答:搜尋字串 find
30 取代字串 replace
31 隨堂練習:取代字串
32 隨堂練習參考解答:取代字串
33 計算子字串出現次數 count
34 字串格式化(formatting)
35 隨堂練習:字串格式化
36 隨堂練習參考解答:字串格式化
37 總結
Python 基礎:tuple、list、set 和 dict 物件
1 Python 容器物件基礎
2 可變物件(mutable)和不可變物件(immutable)的差異
3 隨堂練習:動手試試看可變物件(mutable)和不可變物件(immutable)的差異
4 隨堂練習參考解答:動手試試看可變物件(mutable)和不可變物件(immutable)的差異
5 什麼是 tuple 元組?
6 建立 tuple 物件範例
7 隨堂練習:建立 tuple
8 隨堂練習參考解答:建立 tuple
9 tuple 的基本操作:len():取得 tuple 長度
10 隨堂練習:取得 tuple 長度
11 隨堂練習參考解答:取得 tuple 長度
12 使用索引 [index] 取得 tuple 內部元素
13 隨堂練習:使用 tuple index 取值
14 隨堂練習參考解答:使用 tuple index 取值
15 tuple 的基本操作:使用切片 slicing [:]
16 隨堂練習:使用 slicing 取值
17 隨堂練習參考解答:使用 slicing 取值
18 tuple 的基本操作:tuple 的運算
19 隨堂練習:tuple 基本操作
20 隨堂練習參考解答:tuple 基本操作
21 什麼是 list 列表?
22 隨堂練習:建立 list
23 隨堂練習參考解答:建立 list
24 list 的基本操作:len() 取得 list 長度
25 隨堂練習:取得 list 長度
26 隨堂練習參考解答:取得 list 長度
27 list 的基本操作:使用索引 [index] 取得 list 內部元素
28 隨堂練習:使用 list 索引 [index]
29 隨堂練習參考解答:使用 list 索引 [index]
30 list 的基本操作:使用切片 slicing [:]
31 隨堂練習:使用 list slicing [:]
32 隨堂練習參考解答:使用 list slicing [:]
33 list 的基本操作:新增/刪除 list 元素
34 隨堂練習:新增刪除 list 元素
35 隨堂練習參考解答:新增刪除 list 元素
36 list 的基本操作:list 的運算
37 隨堂練習:list 的運算
38 隨堂練習參考解答:list 的運算
39 list 和 tuple 的差異
40 set 集合物件基本介紹
41 隨堂練習:建立 set 物件
42 隨堂練習參考解答:建立 set 物件
43 set 物件基本操作:新增元素
44 隨堂練習:新增 set 元素
45 隨堂練習參考解答:新增 set 元素
46 set 物件基本操作:移除元素
47 隨堂練習:移除元素
48 隨堂練習參考解答:移除元素
49 set 物件基本操作:判斷元素是否在集合內
50 隨堂練習:判斷元素是否在集合內
51 隨堂練習參考解答:判斷元素是否在集合內
52 dict 字典物件基本介紹
53 隨堂練習:建立 dict 物件
54 dict 物件基本操作:建立 dict 並透過 key 取值
55 隨堂練習:建立 dict 並透過 key 取值
56 隨堂練習參考解答:建立 dict 並透過 key 取值
57 dict 物件基本操作:新增修改 key/value 值
58 隨堂練習:新增修改 key/value 值
59 隨堂練習參考解答:新增修改 key/value 值
60 dict 物件基本操作:刪除 key/value 值
61 隨堂練習:刪除 key/value 值
62 隨堂練習參考解答:刪除 key/value 值
63 dict 物件基本操作:取得 dict 中所有 key/value
64 隨堂練習:取得 dict 中所有 key/value
65 總結
Python 基礎:條件判斷與迴圈
1 條件判斷與迴圈概論
2 if else 入門條件判斷
3 隨堂練習:if else 入門條件判斷
4 Python 邏輯運算
5 隨堂練習:Python 邏輯運算
6 串接多個條件判斷
7 隨堂練習:串接多個條件判斷
8 巢狀條件判斷
9 隨堂練習:巢狀條件判斷
10 if elif else 進階多重條件判斷
11 隨堂練習:偶數奇數判斷
12 for 迴圈
13 隨堂練習:迴圈數字累加器
14 迭代 list/dict 物件
15 隨堂練習:迭代 list 物件
16 隨堂練習:迭代 dict 物件
17 while 迴圈概論
18 隨堂練習:while 迴圈數字累加器
19 無窮迴圈
20 break / continue
21 隨堂練習:加強版迴圈數字累加器(continue)
22 隨堂練習:加強版迴圈數字累加器(break)
23 FAQ 常見問題
24 總結
Python 基礎:函式與類別基礎
1 認識函式
2 隨堂練習:使用內建函式
3 建立你的第一個函式
4 隨堂練習:建立你的第一個函式
5 文字字串說明(docstring)
6 隨堂練習:文字字串說明(docstring)
7 使用函式傳入參數
8 隨堂練習:使用函式傳入參數
9 函式回傳值
10 隨堂練習:函式回傳值
11 使用函式
12 隨堂練習:設計傳入字串可以回傳字串長度的函式
13 全域變數與區域變數
14 隨堂練習:全域變數與區域變數
15 Decorator 裝飾器 / @ 語法糖(進階內容)
16 隨堂練習:Decorator 裝飾器 / @ 語法糖
17 Object 物件基礎
18 設計自己的第一個類別 class
19 隨堂練習:定義物件屬性
20 產生物件
21 隨堂練習:產生物件
22 定義物件方法
23 隨堂練習:存取屬性與執行方法
24 總結
Python 開發環境設定與模組基礎
1 Python 開發環境建置
2 安裝 Anaconda
3 使用 IDLE
4 使用 Terminal & Command Line Prompt (CMD)
5 常用指令碼
6 Windows 和 MacOS/Linux 常見指令對照
7 使用 pip 管理第三方套件指令
8 使用 Jupyter Notebook
9 使用 Visual Studio Code
10 補充資料:使用 Spider IDE
11 認識 Python 套件/模組
12 隨堂練習:使用套件/模組
13 自定義套件/模組
14 隨堂練習:自定義模組
15 隨堂練習:自定義套件
16 Python 常用內建模組
17 隨堂測驗:猜數字遊戲改良版
18 Python 第三方套件使用
19 隨堂練習:第三方套件使用
20 環境設定常見問題
21 總結
Python 網路爬蟲概論與檔案操作
1 網路爬蟲概論
2 Web 網頁概念基礎基礎
3 HTML 語法入門
4 隨堂練習:HTML 語法
5 JSON 資料格式基礎
6 使用瀏覽器開發者工具觀察網頁
7 使用 requests 發出網路請求
8 隨堂練習:使用 requests 發出 GET 網路請求
9 使用 requests 送出 POST 請求
10 如何判斷網頁的資料是從伺服器 server 渲染出來的?
11 定位 HTML 網頁元素
12 CSS 外觀樣式與選擇器入門
13 隨堂練習:CSS 選擇器練習
14 CSS 選擇器基本種類
15 隨堂練習:基本選擇器自己動手練習
16 使用 Beautiful Soup 取出資料內容
17 隨堂練習:取出一筆財報資料
18 隨堂練習:取出多筆財報資料
19 檔案路徑概論
20 Python 檔案處理概論
21 Python 讀取檔案基礎
22 Python 寫入檔案基礎
23 Python 使用 with as 檔案操作
24 隨堂練習:with as 檔案操作
25 清理資料與資料格式化
26 儲存成 CSV 檔案
27 隨堂練習:網路爬蟲財報資料並寫入檔案中
28 網路爬蟲財報資料完整程式碼
29 網路爬蟲常見問題補充說明
30 網路爬蟲工具歸納
31 總結
Python 資料分析與視覺化基礎
1 Pandas 模組初體驗
2 Series 物件基本操作
3 Series 建立自定義 index
4 Series 使用 index 取值
5 隨堂練習:Series 基本操作
6 建立基本 DataFrame 物件
7 DataFrame 自定義 index
8 DataFrame 自定義 column 順序
9 顯示 DataFrame 基本資料
10 從 DataFrame 取值
11 DataFrame 過濾條件
12 隨堂練習:實際操作 DataFrame 物件
13 匯入/匯出 CSV 檔案
14 隨堂練習:匯入 CSV 檔案
15 Matplotlib 圖表繪製初體驗
16 Matplotlib 長條圖
17 隨堂練習:長條圖
18 Matplotlib 折線圖
19 隨堂練習:折線圖
20 Matplotlib 圓餅圖
21 隨堂練習:圓餅圖
22 隨堂練習:使用 Matplotlib 進行圖表繪製
23 整合 Pandas 和 Matplotlib 進行圖表繪製初體驗
24 股價走勢折線圖
25 Matplotlib 認識圖表專有名詞
26 Matplotlib 解決中文字體空白方法
27 隨堂練習:股價走勢折線圖
28 股票公司營收長條圖
29 隨堂練習:使用 Pandas 搭配 Matplotlib 進行圖表繪製
30 補充:在電腦上支援 Matplotlib 顯示中文字體
31 總結
Python SQL 關聯式資料庫操作基礎
1 環境設定
2 關聯式資料庫概要
3 SQL 基本概要和分類
4 CREATE 建立資料庫/資料表
5 DROP 刪除資料庫/資料表
6 ALTER 修改資料表結構
7 INSERT 插入資料
8 SELECT 查詢資料
9 UPDATE 更新資料
10 DELETE 刪除資料
11 隨堂練習:透過 SQL 語法新增股票資料
12 環境設定
13 使用 Python 操作 SQLite 資料庫
14 隨堂練習:創建資料表
15 新增資料
16 隨堂練習:新增資料
17 查詢資料
18 隨堂練習:查詢資料
19 更新資料
20 隨堂練習:更新資料
21 移除資料
22 隨堂練習:移除資料
23 參數化查詢(補充內容)
24 總結
上市櫃公司財報資料分析專案實作 I
1 上市櫃公司財報資料分析專案實作概論
2 建立選股模型
3 網路爬蟲抓取財務分析資料概論
4 股利分配
5 隨堂練習:股利分配
6 ROE 股東權益報酬率
7 隨堂練習:ROE 股東權益報酬率
8 每股自由現金流量
9 隨堂練習:每股自由現金流量
10 總結
上市櫃公司財報資料分析專案實作 II
1 股價區間資料分析
2 歷年股價估價法
3 隨堂練習:歷年股價估價法
4 本益比估價法
5 隨堂練習:本益比估價法
6 總結
Line 聊天機器人開發基礎 I
1 Line 聊天機器人開發概論
2 申請 LINE 官方開發者帳號
3 環境設定
4 建立 Python Flask Web Server
5 隨堂練習:Flask Web Server
6 使用 ngrok 建立可以讓外界使用的 https Server
7 Messaging API 初體驗
8 Python LINE SDK 使用 I
9 Python LINE SDK 使用 II
10 Python LINE SDK 使用 III
11 Line 聊天機器人本機電腦測試常見問題
12 總結
Line 聊天機器人開發基礎 II
1 Line 聊天機器人開發概論回顧
2 LINE Messaging API 回應元件概論 I
3 LINE Messaging API 回應元件概論 II
4 LINE Bot API 進階互動元件 I
5 LINE Bot API 進階互動元件 II
6 總結
Line 聊天機器人開發基礎 III
1 LINE 聊天機器人建立圖文選單
2 紀錄連續指令
3 整合成股票查詢 LINE Bot
4 更多 LINE API 功能
5 總結
Git & Github 基礎教學
1 Git & Github 初體驗
2 為什麼我們需要版本控制系統?
3 上傳檔案到 Github 上
4 常用專案合作指令
5 情境:不想加入的新檔案不小心加入暫存區?
6 情境:若不小心已經 commit 想要反悔?
7 情境:如何將開發新功能分支 branch 合併到主幹 master 分支(主要的程式版本)上?(進階內容)
8 總結
Web Server 專案部屬基礎
1 雲端伺服器(Cloud Server)概要
2 Heroku 雲端服務初體驗
3 建立 LINE Chatbot 聊天機器人程式
4 Heroku 後台設定環境變數參數
5 建立 Heroku 部屬相關檔案
6 錯誤訊息處理方式
7 部屬到 Heroku 雲端伺服器
8 設定 LINE Messaging API 的 Webhook URL
9 常見 Heroku 指令(補充說明)
10 總結
股票投資聊天機器人專案實作 I
1 股票投資聊天機器人專案實作概論
2 專案實作功能規劃
3 Python 定期執行程式
4 在 Heroku 端執行定期程式
5 部屬定期執行工作程式到 Heroku 上
6 整合網路爬蟲和定期執行程式
7 常見 Heroku 指令(補充內容)
8 總結
股票投資聊天機器人專案實作 II
1 股票投資聊天機器人專案實作概論
2 Google Sheets 試算表 API 概論
3 Google Sheets 專有名詞介紹
4 建立 Google Sheets API
5 申請 Service Account 服務帳號
6 安裝串接 Google API 套件
7 直接讀取金鑰檔案
8 使用環境變數讀取金鑰資訊
9 整合 Google Sheets API 實作 I
10 整合 Google Sheets API 實作 II
11 Google Sheets API 讀取資料
12 整合預警推送通知
13 整合建立判斷預警系統
14 完整程式碼
15 總結
基金投資聊天機器人專案實作 I
1 共同基金基礎概論
2 共同基金績效篩選法則
3 網路爬蟲共同基金績效實作
4 篩選【台灣中小型股票】基金績效 I
5 篩選【台灣中小型股票】基金績效 II
6 篩選【台灣中小型股票】基金績效 III
7 專案完整程式碼
8 總結
基金投資聊天機器人專案實作 II
1 基金投資聊天機器人專案實作規劃
2 聊天機器人專案設定
3 整合基金列表查詢功能
4 基金績效篩選查詢功能整合 I
5 基金績效篩選查詢功能整合 II
6 專案完整程式碼和測試
7 部屬專案
8 總結
外幣管理聊天機器人專案實作 I
1 外幣管理聊天機器人專案主要功能
2 認識外幣匯率
3 現金匯率和即期匯率
4 使用 twder 匯率查詢套件
5 隨堂練習:使用 twder 匯率套件
6 建立聊天機器人專案
7 建立查詢所有幣別匯率功能
8 整合聊天機器人查詢所有幣別匯率功能
9 執行完整程式碼
10 專案完整範例程式碼
11 部屬到 Heroku App I
12 部屬到 Heroku App II
13 總結
外幣管理聊天機器人專案實作 II
1 外幣管理聊天機器人專案主要功能規劃
2 設定 Google Sheets 試算表 API
3 安裝開發套件
4 設定環境變數
5 測試金鑰
6 Google Sheets 試算表設定
7 整合聊天機器人輸入
8 建立計算函式
9 查詢計算損益
10 整合聊天機器人輸入
11 建立計算損益函式
12 整合外幣管理聊天機器人專案
13 總結
期末專題與課程回顧
1 前言回顧
2 課程整合與回顧
3 期末專題規劃
4 未來學習地圖
5 總結


問題討論區
加入問題討論
作業任務區
提交作業任務