Streamlit 学习总结
一、Streamlit 是什么?
一个纯 Python 库,能把 Python 脚本直接变成网页应用。不需要学 HTML/CSS/JavaScript,写 Python 就能做出网页界面。
和 FastAPI 的区别:FastAPI 构建 API 接口返回 JSON 数据,给前后端分离项目用;Streamlit 构建网页应用展示数据和交互界面,给数据分析师、算法工程师快速展示成果用。
二、核心功能速查表
| 分类 | 组件 | 作用 |
|---|---|---|
| 文字 | st.title() st.header() st.write() st.markdown() st.text() |
标题和文本展示 |
| 数据 | st.dataframe() st.table() st.metric() |
表格展示、指标卡片 |
| 交互 | st.button() st.selectbox() st.text_input() st.radio() |
按钮、下拉选择、文本输入 |
| 图表 | st.pyplot() st.bar_chart() |
展示Matplotlib图表、内置柱状图 |
| 布局 | st.sidebar st.columns() |
侧边栏、多列并排 |
| 提示 | st.success() st.info() st.warning() st.error() |
成功/信息/警告/错误提示框 |
三、Streamlit 运行机制
每次交互(点击按钮、选择下拉框、输入文字)时,Streamlit 会从头到尾重新执行整个 Python 脚本 。这不是传统的"事件驱动",而是"脚本重跑"。如果需要跨交互保留数据,使用 st.session_state。
