你有沒有試過向不擅長使用試算表的人解釋試算表?當你講到「樞紐分析」和「為什麼 D 欄被隱藏?」時,他們的眼神就開始呆滯。現在想像一下,你可以將試算表變成一個友善的小型 Web 應用程式——有按鈕!有滑桿!還有滑桿一動,圖表也會跟著舞動!——而你不需要學習 JavaScript、CSS 或任何黑魔法。這就是 Streamlit,一個 Python 函式庫,它可以將腳本變成可分享的應用程式,就像果汁機把水果變成早餐一樣。
但問題來了:搜尋「最佳 Streamlit 教學」,你會掉進一個兔子洞,這裡一部分是霍格華茲,一部分是 Ikea 說明書。哪些教學課程真正能幫助你建立可以在星期一給老闆看的東西?我花了一個星期瀏覽文件、影片、社群指南,以及一些「用馬鈴薯錄製的」YouTube 影片,整理出最佳的 Streamlit 教學課程——按技能等級和你要建立的內容分類。
這是一份使用者友善、Pogue 風格的實地指南:從哪裡開始、接下來看什麼、哪些範例在 Streamlit 更新時不會壞掉,以及如何避開那些像拉布拉多犬啃襪子一樣吞噬時間的陷阱。
用簡單的語言來說,Streamlit 到底是什麼?
Streamlit 是一個 Python 函式庫,它可以將你的資料腳本包裝在一個即時介面中。你不需要編寫 Flask 應用程式或與 React 奮戰,只需在程式碼中加入 Streamlit 呼叫,例如 st.button、st.slider、st.line_chart,砰!你就得到了一個可分享的 Web 應用程式。
- 你分享一個連結。你的老闆不再用電子郵件傳送螢幕截圖給你。
最佳 Streamlit 教學課程:一份精選、不囉嗦的清單
我將最佳的 Streamlit 教學課程整理成幾個層級。選擇你的路線;如果你有雄心壯志,也可以混合搭配。
第一級:完全初學者(60-90 分鐘內建立第一個應用程式)
- 官方「Get started with Streamlit」文件
它的優點:它是最新、準確的,並且由 Streamlit 團隊設計。你將安裝 Streamlit,了解重新執行模型如何運作(劇透:每次互動時,腳本都會從頭到尾執行),並建立一個小而令人滿意的應用程式。在開始做任何其他事情之前,先從這裡開始。這是通往「我建立了一些東西」時刻的最短路徑。
- 官方「Create an app」教學課程
它的優點:你將建立一個真正的應用程式,用於探索 Uber 的載客資料集。翻譯:你將看到小工具、圖表、地圖和快取在實際運作中的樣子,並附有清晰的解釋和可複製貼上的程式碼區塊,而且這些程式碼確實可以執行。如果你是視覺學習者,這個課程會讓你很快上手。
- Streamlit Tutorials index
它的優點:一個引導式專案中心:身份驗證、資料庫、檔案上傳、進階佈局等等。它就像餐館的菜單——從鬆餅開始,進階到加入額外墨西哥辣椒的煎蛋捲。
完成第一級後,你將能夠:
- 新增小工具(滑桿、選擇器、按鈕)、呈現圖表和快取資料。
- 了解你的腳本為什麼會「重新執行」,以及如何在不丟掉筆記型電腦的情況下保持狀態。
第二級:初學者到中級(讓它有用,讓它美觀)
4) 「Master Streamlit in One Course – 4 Real Projects Included」(影片)
它的優點:基於專案的學習方式更能讓人掌握。本課程將帶你從基礎知識到連接資料庫和更進階的模式。如果你想感覺自己像一個真正的應用程式開發者,而不僅僅是一個有按鈕的腳本編寫者,這就是快速通道。
- 「Complete Streamlit Tutorial: From Zero to Production-Ready」(文章)
它的優點:這是一個關於在 2025 年建立儀表板以及權衡取捨的誠實、現代的概述。你將獲得關於封裝、部署以及何時使用其他工具的策略。如果你在想:「Streamlit 在實際使用中能撐得住嗎?」——這就是你的現實檢查。
- Streamlit 高級使用者分享的最佳實踐(影片)
它的優點:模式、模式、模式。你將學習專業人士如何建構應用程式、管理效能和潤飾 UX。這就像偷看你鄰居一塵不染的車庫,並決定你也應該擁有帶標籤的垃圾桶。
完成第二級後,你將能夠:
第三級:實用、真實世界的專案(向你的團隊展示一些很酷的東西)
7) 使用 AI + Streamlit 的音訊轉錄應用程式(影片)
它的優點:一個可靠的「AI meets UI」範例:檔案上傳、模型呼叫、結果顯示。即使你沒有建立轉錄應用程式,你也可以為任何支援 AI 的專案竊取模式——進度條、錯誤處理、長時間執行的任務。
- 結合資料清理、視覺化和檔案轉換的實作應用程式示範
它的優點:真實世界的實用性。應用程式接受難看的資料、清理資料、視覺化資料,並將其匯出為你老闆想要的確切格式(CSV 轉 Excel,有人要嗎?)。這是充滿自信地邁向「我實際上可以用一個他們可以點擊的儀表板取代團隊一半的手動工作」的一步。
快速繞道:Streamlit 在哪些方面表現出色——以及哪些方面表現不佳
表現出色:
- 資料科學示範:圖表、地圖、模型滑桿、「如果……會怎樣?」實驗。
表現不佳:
- 具有繁重身份驗證、角色和企業工作流程的複雜多使用者應用程式。
如果你的應用程式是「我們需要在 Python 程式碼上建立一個友善的 UI」,那麼 Streamlit 就是一個夢想。如果你的應用程式是「我們正在重建 Airbnb」,可能就不是了。
Streamlit 心理模型簡介
如果你來自傳統的 Web 技術堆疊,Streamlit 一開始會讓人覺得……很奇怪。你不需要連接路由和範本;你只需編寫一個 Python 腳本,每次使用者互動時都會重新繪製自己。
- 使用 session state 來記住跨執行的選擇。
- 快取昂貴的工作(下載資料、載入模型),這樣你的應用程式才不會爬行。
把它想像成一個 PowerPoint,它會根據觀眾的點擊來更新自己——但你用 Python 而不是拖曳方塊來控制投影片。
一條從做中學的路徑:這個週末建立,星期一讓人驚艷
這是一個實用、可快速學習的課程——最多兩個下午。
星期六早上:你的第一個應用程式和「啊哈」時刻
- 安裝 Streamlit 並執行 Hello 應用程式。按照官方「Get started」指南建立一個簡單的 UI 和圖表。它是最新鮮的真理來源。
- 完成「Create an app」——Uber 載客、地圖、篩選器。你將接觸到 st.cache_data,這會讓未來的你喜極而泣。
星期六下午:你實際會用到的小工具和佈局
- 新增 st.sidebar 以將控制項移出主流程。
- 建立一個小型的資料清理面板:用於 CSV 的 file_uploader、用於欄位選擇的 selectbox、用於捨棄 NA 或小寫標頭的核取方塊,以及用於匯出結果的按鈕。使用像將 CSV 轉換為 Excel 的實用應用程式這樣的範例。
- 學習顯示進度:st.progress、st.spinner 和 st.status 訊息。人們討厭盯著靜默的螢幕。
星期天早上:升級到多頁和狀態
- 將你的應用程式分割成多個頁面。建立一個「資料」頁面、一個「視覺化」頁面和一個「匯出」頁面。它會讓你看起來很專業,而不需要做太多工作。
- 當使用者四處瀏覽時,使用 st.session_state 來記住選擇(選定的欄位、篩選器)。
星期天下午:部署和潤飾
- 部署到託管服務或容器;包含一個 requirements.txt。
- 新增 st.toast 以獲得友善的確認,並新增 st.error 以獲得防護欄。
- 額外加分:嵌入一個小型 AI 動作——總結表格、清理雜亂的文字或從欄位名稱自動產生圖表標題——將一個「不錯的應用程式」變成一個「吸睛之作」。支援 AI 的轉錄演練展示了處理長時間運作和在結果到達時更新 UI 的模式。
檢查清單:永遠回報你的五個 Streamlit 概念
- 快取是氧氣:快取資料載入、模型載入和長時間的計算。
- Session state 是記憶體:在重新執行期間保持使用者選擇。
- 佈局是溝通:側邊欄、欄位、選項卡——使用它們來簡化。
- 回饋勝過沉默:旋轉器、進度條、toast。始終告訴使用者正在發生的事情。
常見的陷阱(以及如何避開它們)
- 「我點擊按鈕時,我的變數會重置!」那是重新執行模型;使用 st.session_state 來保存重要的東西。
- 「第一次點擊時速度很慢。」快取你的繁重函式。也可以考慮在應用程式啟動時初始化模型。
- 「為什麼我的圖表是空的?」如果小工具預設值在執行之間發生變化,你可能會篩選掉你的資料。設定合理的預設值。
- 「更新後它壞掉了。」固定你的需求或閱讀遷移說明。官方教學課程往往會保持同步。
比較區:Streamlit vs. 常見嫌疑犯
- Streamlit vs. Dash: Dash 更可配置且更適合企業使用,但需要更長的時間才能上手。Streamlit 原型設計速度更快;Dash 更適合複雜的生產工作流程。
- Streamlit vs. Gradio: Gradio 在快速 AI 示範中表現出色,尤其是模型 I/O。Streamlit 更通用於資料應用程式和儀表板。
- Streamlit vs. Flask + Front-end: Flask 讓你控制一切,包括很多你不想控制的東西。當你的目標是「在星期二之前交付決策工具」時,Streamlit 是一個捷徑。
關於 Sider.AI 的一句話:學習和建立的有用助手
如果你是喜歡快速迭代並看到實際結果的學習者,那麼將 AI 助手與 Streamlit 一起使用可以是一種超能力。例如,我已經看過一些示範,它們將雜亂的 CSV 變成一個清理過、視覺化的儀表板,然後匯出到 Excel——這正是你可以使用 Streamlit 的小工具和一些 AI 幫助來總結或建構資料的「我為團隊節省了幾個小時」的應用程式。Sider.AI 等工具也可以推動你完成樣板和測試場景,以便你可以專注於設計和資料邏輯。 你可以竊取的實作迷你專案(附註)
- 輸入:CSV 上傳、日期範圍選擇器、區域下拉式選單。
- 輸出:指標(收入、計數)、折線圖和可下載的 Excel 檔案。
- 提示:快取資料清理步驟;將篩選後的 DataFrame 儲存在 session_state 中,以便你可以立即匯出。
- 輸入:折扣率的滑桿、廣告支出的 number_input、產品等級的 selectbox。
- 輸出:預測收入的長條圖和文字摘要(「以 10% 的折扣,你可以在 6.2 個月內恢復」)。
- 提示:使用選項卡:「假設」、「圖表」、「下載」。保持快取模型函式。
- 輸入:用於 PDF 或文字的 file_uploader、用於語氣的核取方塊(「正式」、「友善」、「項目符號風格」)。
- 輸出:帶有複製按鈕的摘要文字;可選的操作項目 CSV。
- 提示:以增量更新串流結果;顯示旋轉器並解釋正在發生的事情。
- 輸入:file_uploader (CSV)、用於剝離空格的核取方塊、用於日期剖析的 selectbox、用於「匯出到 Excel」的按鈕。
- 輸出:清理過的表格預覽;按欄位顯示空值的圖表;一鍵匯出。
- 提示:這是一個完美的初學者專案,並且可以很好地對應到那些實作示範。
如何為你選擇最佳的 Streamlit 教學課程
- 如果你有兩個小時:完成官方的 Get Started 流程和 Create an App 教學課程。你將在 20% 的時間內完成 80% 的工作。
- 如果你有一個週末:將它們與基於專案的影片課程結合起來,並建立我概述的三頁應用程式。到星期一,你就會成為工作中的「那個人」。
- 如果你想專精:深入研究教學索引,了解身份驗證、資料庫和最佳實踐。你將避免重複粉刷同一道柵欄五次。
Streamlit 禮儀:讓你的使用者感到愉快
疑難排解區(又名「為什麼這東西不起作用?」)
- No module named ‘streamlit’:你在錯誤的環境中。在你的活動 venv 中 pip install streamlit。
- 檔案上傳器不接受任何東西:檢查你的檔案類型;另請記住,只有在你將結果儲存在 session_state 中時,小工具才是有狀態的。
- 它在本地運作,但在部署中無法運作:固定你的版本並在主機中設定密碼/環境變數。另請使用小型資料集進行測試。
- 對於大型 CSV 檔案來說速度很慢:使用分塊讀取、預先聚合或為 UI 採樣。考慮快取和卸載繁重的轉換。
最後一件事:偉大工具的謙遜
Streamlit 的天才之處在於其抱負的謙遜。它不試圖成為一個完整的平台;它試圖成為將你的 Python 變成友善應用程式的旋鈕。憑藉上面最好的 Streamlit 教學課程——用於基礎知識的官方文件、用於動力的專案影片以及用於潤飾的最佳實踐講座——你將跳過徘徊,直接進入人們說「等等,這是你建立的?」的部分。
那就是你為之奮鬥的時刻。或者至少,那是你的老闆停止讓你發送同一個試算表的 11 個版本的時刻。
常見問題
Q1:對於完全的初學者來說,最好的 Streamlit 教學課程是什麼?
從官方的 Get Started 指南和 Create an App 教學課程開始——它們是最新的、簡潔的,並且保證可以與最新的 Streamlit 版本一起使用。你將在兩個小時內建立一個帶有圖表和小工具的小型應用程式。
Q2:我應該如何為我的儀表板選擇 Streamlit vs Dash?
當你需要速度和簡單性來建立內部工具或快速原型時,請選擇 Streamlit;當你需要更深入的自訂和企業工作流程時,請選擇 Dash。首先嘗試使用 Streamlit 建立週末原型——它通常可以滿足 90% 的需求。
Q3:通往可投入生產的 Streamlit 應用程式的最快路徑是什麼?
按照官方教學課程進行操作,然後跳到基於專案的課程和最佳實踐講座,以取得結構和效能提示。快取繁重的函式、使用 session_state 並固定你的套件版本,以保持部署穩定。
Q4:Streamlit 可以處理轉錄或摘要等 AI 功能嗎?
可以——Streamlit 可以很好地與 Python AI 函式庫和 API 搭配使用。使用經過驗證的專案演練(例如 AI 轉錄應用程式)來學習檔案上傳、進度指示器和長時間運作作業的模式。
Q5:在哪裡可以找到真實世界的 Streamlit 應用程式想法來練習?
嘗試實用應用程式:資料清理和轉換、假設情境規劃器和快速的 AI 驅動摘要器。將 CSV 轉換為 Excel 並視覺化清理後的資料的實際範例是非常好的練習,並且立即有用。