GitHub Copilot 完整教學

Part 9:實戰應用 - 函式生成

用 Copilot 快速產生各種實用函式

註解驅動 實用函式 快速開發

🎯 本單元學習目標

完成這個單元後,你將能夠:

1. 字串處理函式

Email 驗證、格式化等常用字串操作

2. 數學計算函式

質數判斷、階乘計算等數學運算

3. 資料處理函式

列表去重、日期計算等資料操作

4. 檔案與 API 函式

JSON 讀取、HTTP 請求等進階功能

學習方式:用「中文註解」描述需求,讓 Copilot 自動產生完整函式!

📧 範例 1:Email 格式驗證

字串處理

輸入的註解

# 驗證 Email 格式是否正確
Email 驗證函式

Copilot 自動產生 Email 驗證函式

常見實作方式:使用正規表達式(regex)檢查 Email 格式

🔢 範例 2:質數判斷

數學計算

輸入的註解

# 判斷一個數字是否為質數
質數判斷函式

Copilot 自動產生質數判斷函式

什麼是質數?只能被 1 和自己整除的正整數,如 2、3、5、7、11...

📋 範例 3:列表去除重複元素

資料處理

輸入的註解

# 從列表中去除重複的元素
列表去重函式

Copilot 自動產生列表去重函式

常見實作方式:
  • 使用 set() 轉換(簡單但不保持順序)
  • 使用迴圈遍歷(保持原始順序)

📅 範例 4:計算日期差距

日期時間

輸入的註解

# 計算兩個日期之間相差幾天
日期計算函式

Copilot 自動產生日期計算函式

常用套件:datetime 模組,Python 內建的日期時間處理工具

📄 範例 5:讀取 JSON 檔案

檔案操作

輸入的註解

# 讀取 JSON 檔案並回傳內容
JSON 讀取函式

Copilot 自動產生 JSON 讀取函式

常用套件:json 模組,Python 內建的 JSON 處理工具

🌐 範例 6:發送 HTTP GET 請求

API 呼叫

輸入的註解

# 使用 requests 發送 GET 請求並回傳 JSON
API 請求函式

Copilot 自動產生 API 請求函式

進階技巧:在註解中提到套件名稱(如 requests),Copilot 會自動 import 並使用!

💡 函式生成的提示技巧

1. 描述清楚功能

說明函式要「做什麼」
# 處理資料
# 計算列表中所有數字的平均值

2. 說明輸入輸出

讓 Copilot 知道參數和回傳值
# 輸入兩個日期,回傳相差天數

3. 提及使用套件

需要特定套件時直接說明
# 使用 pandas 讀取 CSV

4. 提及邊界情況

說明需要處理的特殊情況
# 檔案不存在時回傳空字典

📚 更多實用註解範例

類別 註解範例
字串處理 # 將字串轉換為駝峰式命名
數學計算 # 計算費氏數列的第 n 項
資料處理 # 將列表依照指定鍵值排序
檔案操作 # 將字典寫入 CSV 檔案
加密安全 # 產生指定長度的隨機密碼
網路請求 # 使用 requests 發送 POST 請求
重要提醒:Copilot 產生的程式碼要經過測試,確認符合你的需求!

🏋️ 實作練習

練習目標:用註解驅動,讓 Copilot 生成各種函式

練習題目

請建立 practice9.py,依序嘗試以下註解:

  1. # 計算字串中每個字元出現的次數
  2. # 將攝氏溫度轉換為華氏溫度
  3. # 判斷一個字串是否為有效的 URL
  4. # 計算一個列表中所有數字的標準差
  5. # 使用 requests 下載圖片並儲存到本地
進階挑戰:嘗試在註解中加入更多細節,例如「如果輸入為空則回傳 0」

📝 隨堂測驗

問題 1:用 Copilot 生成函式時,哪種註解比較好?

A. # 處理
B. # 驗證 Email 格式是否正確
C. # 做事
D. # 函式

問題 2:想讓 Copilot 使用特定套件(如 requests),應該怎麼做?

A. 先手動 import,再寫註解
B. 在註解中提到套件名稱
C. 兩種方式都可以
D. Copilot 無法使用外部套件

問題 3:Copilot 產生的程式碼,下一步應該?

A. 直接使用,不需檢查
B. 測試並確認符合需求
C. 全部刪掉重寫
D. 只看不用

✅ 測驗解答

問題 1 答案:B

「驗證 Email 格式是否正確」清楚描述了函式的功能,Copilot 能產生更準確的程式碼。模糊的註解如「處理」無法讓 AI 理解你的需求。

問題 2 答案:C

兩種方式都可以!你可以先 import,也可以在註解中提到套件名稱(如「使用 requests」),Copilot 都能理解並自動 import。

問題 3 答案:B

AI 產生的程式碼需要測試並確認符合你的需求。雖然 Copilot 很強大,但仍可能有錯誤或不符合特定需求的地方。

🎉 Part 9 重點回顧

註解驅動生成

用清楚的中文註解
讓 Copilot 產生完整函式

多種函式類型

字串處理、數學計算
檔案操作、API 呼叫

提示技巧

描述清楚功能
說明輸入輸出
提及使用套件

記得測試

AI 產生的程式碼
一定要測試確認

核心觀念

「註解越具體,函式越精準」

下一單元預告

Part 10:實戰應用 - 單元測試
用 Copilot 自動產生測試程式碼!