五十節課,按真正能理解的順序。
每節課都能一次讀完。讀完後立刻練習,趁概念還新鮮。
Python 列印與字串
讓 Python 顯示文字、組合多個值,並輸出真正看得懂的訊息。
Python 變數與資料型別
用變數儲存值,理解 Python 如何判斷一個值屬於什麼型別。
Python 字串方法
用日常最常用的字串方法清理、拆分、連接和檢查文字。
Python if、elif 與 else
用比較和布林邏輯,讓程式在不同情況下走不同的路徑。
Python for 迴圈
對一組值重複執行同樣的工作,不用把同一行程式碼寫很多遍。
Python 列表
儲存有序集合,安全地修改它,並取出你需要的部分。
Python 字典
用有名字的鍵儲存值,通過名稱尋找,而不是通過位置。
Python 函式
把一次計算封裝起來,起個名字,之後反覆使用,不用複製程式碼。
Python 錯誤處理
捕獲可預期的失敗,給出有用的兜底結果,讓程式繼續執行。
Python JSON 入門
把 JSON 文字變成 Python 值,讀取巢狀記錄,再把資料寫回 JSON。
Python while 迴圈
在條件變化前反覆執行,並知道什麼時候該停下來。
Python 元組與集合
固定記錄用元組,唯一值集合用 set,讓資料結構的意圖更清楚。
Python 列表推導式
用更緊湊的表達式從舊集合建構新集合,而不是寫一長串迴圈。
Python 排序與 key 函式
按照真正關心的欄位排序,而不是只對一串數字排序。
Python 類與物件
把資料和操作資料的函式組合成一個可復用的小物件。
Python 模組與匯入
復用已經寫好的程式碼,而不是重新造一遍。
Python 巢狀資料
像處理 JSON 一樣,一層一層地讀取資料。
Python Lambda、map 與 filter
寫簡短函式,不寫迴圈也能轉換序列。
Python 遞迴
把問題交給一個更小版本的自己。
Python 正規表達式
用模式尋找和替換文字,而不是手寫解析器。
Python enumerate 與 zip
不用手寫計數器,也能拿到位置並並行走訪序列。
Python pathlib 路徑
把檔案路徑當作物件,而不是容易出錯的字串。
Python datetime 日期與時間
準確處理日曆日期和簡單的時間間隔。
Python assert 測試
把預期行為變成可以反覆執行的檢查。
Python 型別提示
讓讀者和工具一眼看出資料的形狀。
Python 生成器
按需產生值,而不是一次建構完整列表。
Python 裝飾器
用可復用的行為包裝函式,而不修改函式體。
Python 上下文管理器
用 with 程式碼區塊保證準備和清理一定發生。
Python dataclasses
用聲明式欄位定義以資料為中心的類,減少重複樣板。
Python itertools
組合惰性迭代器,完成計數、拼接和分組。
Python collections
選擇正確的容器,而不是每次手寫同樣的邏輯。
Python functools
用快取、部分應用和摺疊復用函式行為。
Python 列舉
為一組固定值命名一次,然後在所有地方使用這些名字。
Python CSV 檔案
讀寫表格文字,不必自己按行和逗號拆分。
Python 日誌
用級別、處理器和格式記錄程式發生了什麼。
Python 爬蟲 HTTP 請求
先構造一個禮貌的請求,再解析第一個標籤。
Python HTML 解析
讓解析器理解 HTML 結構,而不是用正規猜。
Python URL 解析
連結進入佇列前,先把相對位址補全。
Python 分頁與去重
抓取就是一個帶記憶和預算的佇列。
Python robots.txt 與禮貌抓取
許可、限速和隱私,都是爬蟲的一部分。
Python 分詞與文字向量
把文字變成詞元,再用向量比較文件。
Python softmax 與溫度
把原始分數變成不會溢出的機率分布。
Python 最近鄰分類器
看一個點最像哪些鄰居,再用鄰居的標籤分類。
Python 模型評估與準確率
只有知道指標測量了什麼,分數才有意義。
Python 提示詞模板與結構化輸出
把模型輸出當成不可信輸入,而不是完成的資料。
Python 線性回歸:從直線到誤差
配適一條直線,做預測,再衡量它錯了多少。
Python 梯度下降:一步一步靠近
沿梯度向下走,看看學習率為什麼重要。
Python 樸素貝葉斯文字分類
用計數、先驗和平滑給短文字分類。
Python k-means 聚類:從距離到收斂
分配樣本、移動質心,重複到結果穩定。
Python 模型監控與漂移檢查
在使用者察覺之前,先發現模型行為的變化。
「學 Python 最好的方式,是寫一點點、預測會發生什麼,然後弄清楚自己為什麼猜錯。」
PyPractice 方法
嘗試 → 檢查 → 解釋 → 再做一次
一個練習迴圈,而不是內容堆疊。
一節課十分鐘就能完成,還能留出時間真正動手做題。
一次只學一個概念
短解釋配可執行的程式碼。不用安裝,也不會被一大段語法淹沒。
三種回憶方式
選擇答案、補全程式碼,或預測精確輸出。不同題型檢查理解的不同部分。
讀原因,而不只看對錯
答對不是終點。解釋會指出關鍵規則,讓下一次嘗試更有依據。
回答初學者真正會問的問題。
需要練習計畫、學習方法,或某個主題的專項練習時,可以從這裡開始。
Python 初學者練習計畫:4 週上手路線
初學者通常不缺影片,缺的是少量概念加上足夠多次的主動練習。這份計畫把前 10 節核心短課安排成 4 週,每天 20–30 分鐘,重點是寫程式碼、預測結果和糾正錯誤;…
練習方法Python 練習題帶答案:如何練習而不只是抄答案
答案只有在你先嘗試之後才有價值。如果一上來就看答案,你可能會「認得」它,卻無法獨立寫出來。下面這套三步法,能把答案解釋變成真正的能力。…
課程重點Python print 練習:sep、end 與 f-string
print() 看起來簡單,卻是檢查程式最快的方式。這組練習覆蓋初學者最容易忽略的細節:分隔符、行尾、引號和格式化。…
課程重點Python 迴圈練習:覆蓋大多數初學者問題的 5 個模式
大多數初學者迴圈題,都是五個基本模式的變體。先認出模式,再寫語法,比面對空白編輯器硬想更快。…
課程重點Python 列表練習:索引、切片與排序
列表是大多數初學者最早使用的資料結構,也是小錯誤的集中地。這組練習聚焦索引、切片、原地修改,以及 sort 和 sorted 的區別。…
專項練習Python while 迴圈練習:覆蓋大多數問題的 5 個模式
大多數 while 迴圈題都是五個基本模式的變體。先認出模式,再寫條件和更新語句,就不用憑感覺試。…
專項練習Python 元組與集合練習:固定記錄與唯一值
元組和集合解決兩類不同的問題:儲存固定記錄,以及只保留唯一值。練習在它們之間做選擇,而不是預設使用列表。…
專項練習Python 列表推導式練習:映射、篩選與建構
推導式是建構集合的緊湊寫法。真正該問的不是「能不能寫短」,而是「轉換是否仍然一眼可見」。…
專項練習Python 排序練習:key、reverse 與記錄排序
給數字列表排序只是第一步。真正有用的是按指定欄位排序記錄,同時保留原始資料。…
專項練習Python 類練習:建構一個小型物件模型
從一個小的記錄開始,類會更容易理解。先讓物件儲存幾個欄位,加一個方法,測試通過後再增加行為。…
專項練習Python 匯入練習:模組、別名與標準函式庫
匯入只是很小的語法,卻能帶來很大的收益:你可以直接使用經過測試的程式碼,而不是重新實現每個工具。關鍵是讓每個名字的來源清楚可見。…
專項練習Python 巢狀資料練習:字典列表
巢狀資料看起來複雜,直到你給每一層命名。字典列表不過是一組記錄,每個字典就是一條帶欄位的記錄。…
專項練習Python Lambda、map 與 filter 練習
map 和 filter 是轉換與篩選的短工具。函式足夠簡單,並且記住 Python 3 中它們回傳惰性迭代器時,這兩種工具最好用。…
專項練習Python 遞迴練習:基線條件與更小的問題
先寫停止條件,遞迴會容易很多。然後只問一個問題:這個函式可以把什麼樣更小的輸入傳給自己?…
專項練習Python 正規練習:尋找、提取與替換
正規表達式是一種描述文字模式的緊湊語言。先寫一個清楚的模式,在小字串上測試,再添加分組或量詞。…
專項練習Python enumerate 與 zip 練習:更乾淨的迴圈
迴圈裡的大多數錯誤都來自記帳:索引悄悄偏移、計數器從錯誤的位置開始,或者兩個列表已經對不上卻沒人發現。enumerate 和 zip 把這些關係寫進迴圈頭部,讓問題…
專項練習Python pathlib 練習:路徑、檔名與文字檔
路徑不只是一個字串。它有父目錄、檔名、後綴和平臺相關的分隔符。pathlib 給這些概念起了名字,讓程式碼可以表達真實意圖,而不是用加號拼字串。…
專項練習Python datetime 練習:日期、時間差與格式化
日期看起來簡單,直到月份長度、閏年和時區出現。datetime 模組會替你處理日曆規則。真正的關鍵是選對物件:日期、時長,還是某個具體瞬間。…
專項練習Python assert 練習:用斷言測試函式
斷言是你對程式做出的聲明。聲明為假時,Python 會拋出 AssertionError 並停止目前路徑。只要不把它和輸入驗證混為一談,assert 就是很好的教學…
專項練習Python 型別提示練習:讓註解幫助讀者
型別提示是溝通工具。它告訴讀者函式接收和回傳什麼,也給編輯器足夠的資訊,在錯誤進入執行時之前發出提醒。它不會把 Python 變成靜態型別語言。…
專項練習Python 生成器練習指南:惰性取值
生成器不只是新語法,它改變了執行方式:產生一個值,暫停,之後再繼續。當完整列表浪費記憶體、無法建構,或者根本不需要時,這種模型特別有用。…
專項練習Python 裝飾器練習指南:包裝函式
裝飾器的想法很小,回報卻很大:函式可以傳給另一個函式,並被它的回傳值替換。理解這一點後,日誌、計時、快取和驗證就能變成可復用的層,而不是到處複製的程式碼。…
專項練習Python 上下文管理器練習指南
成功路徑上的清理很容易忘記,例外打斷函式時更容易漏掉。上下文管理器把準備和收尾放在程式碼區塊兩側,讓清理邏輯只有一個明確的歸屬。…
專項練習Python dataclass 練習指南:欄位
dataclass 是一種簡潔表達「這個類主要裝資料」的方式。它會生成重複方法,但仍然只是普通 Python 類。理解它生成了什麼、沒有生成什麼,既能減少樣板,也能…
專項練習Python itertools 練習指南:惰性資料流
itertools 是一組小型迭代器工具。它們不試圖解決整個問題,而是可以組合。認識 count、islice、chain 和 groupby 之後,很多迴圈會變得…
專項練習Python collections 練習:計數、分組與佇列
collections 模組提供一組減少樣板程式碼的小工具。你不需要手寫計數迴圈、缺失鍵判斷或佇列,而是直接選擇行為已經比對問題的容器。…
專項練習Python functools 練習:快取、偏函式與歸約
functools 的重點是改造函式,而不是重寫函式。你可以快取昂貴結果、固定一個參數、把序列摺疊成一個值,或者在包裝可呼叫物件時保留元資料。…
專項練習Python 列舉練習:名稱、值與尋找
列舉給狀態、顏色、方向這類概念一組固定名稱。成員是真實物件,而不是散落的字串,因此比較和尋找都更明確。…
專項練習Python CSV 練習:讀取、寫入與引號
CSV 看起來像純文字,直到欄位裡出現逗號。csv 模組負責引號、分隔符和行邊界,你不需要手工按行拆分。…
專項練習Python 日誌練習:級別、處理器與格式
需要上下文時,print 語句就不夠了。日誌給每條訊息一個嚴重級別、一個目的地和一種格式,讓你不必修改每個呼叫點就能檢查生產行為。…
專項練習Python 爬蟲練習:搭建禮貌的抓取流水線
爬蟲是一條流水線,不是一次請求。這些練習把抓取、解析、提取和儲存分開,讓每個階段都能在不存取真實網站的情況下測試。…
專項練習Python HTMLParser 練習:連結、文字與屬性
把解析器拆成小型處理器,更容易信任。這些練習每次只增加一個職責:收集標籤、讀取屬性、捕獲文字,最後組合成記錄。…
專項練習Python URL 解析練習:拼接、查詢與清理
很多重複連結並不是真的重複,而是同一個目的地的四種寫法。這些練習把 URL 字串拆成組成部分,基於頁面補全,再重建成規範值。…
專項練習Python 分頁抓取練習:佇列、存取集與預算
分頁抓取本質上是帶預算的圖走訪。佇列決定下一頁,visited 集合防止繞圈,限制讓執行結束。這些練習先分別實現,再組合起來。…
專項練習Python robots.txt 練習:規則、延遲與倫理
robots.txt 檔案很小,影響卻很大。這些練習解析常見指令,解釋最長比對優先級,並把檔案放回「禮貌抓取或乾脆不抓」的完整決策中。…
專項練習Python 分詞練習:詞元、向量與餘弦相似度
分詞是 AI 流水線第一個可能悄悄丟失資訊的地方。這些練習把選擇擺到明面上:什麼算一個詞元、詞表如何共用,以及相似度分數能說明什麼、不能說明什麼。…
專項練習Python softmax 練習:穩定性、溫度與對數損失
softmax 看起來只有兩行算術,細節卻很重要:溢出、溫度,以及機率和決策之間的區別。這些練習逐塊搭建,再連接到損失函式。…
專項練習Python k-NN 練習:距離、投票與縮放
k-NN 是很好的第一個分類器,因為每個決定都看得見:距離、鄰居、投票和評估都能檢查。這些練習讓每一步都可以測試。…
專項練習Python 模型評估練習:不只看準確率
評估是模型與決策相遇的地方。一個準確率數字可能掩蓋「永遠找不到關心類別」的分類器。這些練習先計算混淆矩陣,再從中推導指標。…
專項練習Python 提示詞驗證練習:JSON、結構與安全
模型只是 AI 功能的一部分。週圍的 Python 決定輸入什麼、輸出是什麼形狀,以及回應錯誤時怎麼辦。這些練習建構驗證層,避免壞回應變成壞操作。…
專項練習Python 線性回歸練習:配適、預測與評估
這些練習把線性回歸縮小到可以手工檢查的程度。你會配適直線、用基線比較誤差,並判斷一個預測是否超出了證據範圍。…
專項練習Python 梯度下降練習:損失、步長與學習率
當每一步都看得見時,梯度下降才更容易被信任。這些練習把損失、梯度、更新和停止規則拆開,再展示一個糟糕的學習率如何讓它們全部失效。…
專項練習Python 樸素貝葉斯練習:計數、先驗與平滑
樸素貝葉斯大部分工作就是細緻地計數。這些練習構造計數表、轉成平滑機率、在對數空間比較類別,並在未參與訓練的文字上檢查結果。…
專項練習Python k-means 練習:分配、更新與評估
把分配、更新和評估拆成練習,k-means 就沒那麼神秘。這些例子只使用二維小資料,每個質心都能手工核對。…
專項練習Python 模型監控練習:漂移與警示
監控不是堆滿數字的儀錶盤,而是一組小型比較。這些練習建立基線、衡量偏移、判斷證據是否足夠,並只記錄真正需要的聚合值。…
專案實錄用 Python 跑批量 AI 任務:佇列、重試、斷點與成本
批量任務不是給 API 呼叫套一層 for 迴圈。這篇實錄搭出讓它跑得住、停得下、算得清的四件事:穩定任務 key、併發上限、斷點檔案、開跑前就能說清的價格。…
專案實錄用 Python 部署本機大模型:Ollama、VRAM 預算與可用介面
本機模型是一個有記憶體預算、有延遲曲線的行程,不是黑盒。這篇實錄講清決定它能不能撐過一下午的幾件事:量化、VRAM 算術、一個 HTTP 介面、降級鏈,以及上線後該…
把基礎語法拼成一個能跑的小程式。
解析一張小收據,攔下壞行,輸出 JSON 小計。五個小步驟、起始程式碼和驗收條件。
開始之前。
需要註冊帳號嗎?
不需要。所有課程和練習都能直接使用。已解決題目儲存在瀏覽器的 localStorage 中,不需要登入。
程式碼在哪裡執行?
課程裡的程式碼通過 Pyodide 在瀏覽器中執行。首次執行需要從 CDN 下載 Python 執行時,因此需要聯網。
一共有多少道題?
網站有 600 道課程題,另有一套 3000 道完整題庫。課程題依 50 節課組織,每課 4 道選擇題、4 道填空題、4 道輸出預測題。
答案在哪裡?
每題都有簡短解釋。課程題中的輸出預測答案由建構腳本用真實 Python 執行後產生;完整題庫沿用原題庫的答案。
第一道題已經在等你。
從 print 和字串開始,或者直接進入混合練習。