欢迎光临
我们一直在努力

Python Web 快速开发:Streamlit 入门指南与常用组件解析

1. 什么是 Streamlit?

在数据科学和机器学习项目中,我们经常需要将分析结果或模型封装成可视化的 Web 界面。然而,传统的 Web 开发(如 Django、Flask)不仅需要编写后端逻辑,还需要掌握 HTML、CSS 和 JavaScript 等前端技术。

Streamlit 是一个开源的 Python 库,专为数据工程师及机器学习工程师设计。它允许开发者完全使用 Python 代码,在短时间内构建出美观、交互性强的 Web 应用程序,无需编写任何前端代码。

官方网站:https://streamlit.io/


2. 安装与运行

Streamlit 的安装和运行过程非常简便。

2.1 安装 Streamlit

打开终端或命令行,运行安装命令进行安装。

pip install streamlit

2.2 运行 Streamlit 应用

编写好 Python 代码(例如命名为 app.py)后,在终端中执行运行命令即可启动本地服务。

streamlit run app.py

启动后,系统会自动在浏览器中打开一个地址(通常是 http://localhost:8501),即可实时查看和交互。


3. Streamlit 常用 API 汇总

为了方便快速查阅,下表整理了 Streamlit 的基础页面配置及常见组件分类:

组件分类API 成员功能说明
页面配置 st.set_page_config 配置页面标题、图标、布局模式及菜单项等
文本渲染 st.title, st.header, st.subheader, st.write 用于展示不同层级的标题、副标题及普通文本/Markdown
媒体展示 st.image, st.audio, st.video, st.logo 用于在页面中嵌入图片、音频、视频以及站点 Logo
数据展示 st.table 展示静态表格数据
交互控件 st.button, st.text_input, st.checkbox, st.radio, st.selectbox 按钮、输入框、复选框、单选框及下拉选择框等

4. 完整代码示例

以下代码展示了如何使用上述组件构建一个基础的 Web 应用。您可以将此代码保存为 app.py 并运行。

import streamlit as st

# 设置页面布局
st.set_page_config(
page_title="Ex-stream-ly Cool App", # 页面标题
page_icon="🧊", # 页面图标
layout="wide", # 页面布局
initial_sidebar_state="expanded", # 侧边栏状态
menu_items={
'Get Help': 'https://www.extremelycoolapp.com/help', # 帮助链接
'Report a bug': "https://www.extremelycoolapp.com/bug", # 报告bug链接
'About': "# This is a header. This is an *extremely* cool app!" # 关于链接
}
)

# 大标题
st.title("Streamlit 入门演示")
st.header("Streamlit 一级标题")
st.subheader("Streamlit 二级标题")

# 段落文字
st.write("这是一个段落文字")
st.write("这是一个段落文字1")

# 图片
st.image("https://www.171host.com/wp-content/uploads/2026/09/20260905205423-6a9c817f3818f.png")

# 音频
st.audio("https://www.baidu.com/audio/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.mp3")

# 视频
st.video("https://www.baidu.com/video/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.mp4")

# logo
st.logo("https://www.baidu.com/logo/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png")

# 表格
student_data ={
"name":["张三","李四","王五"],
"age":[18,20,22],
"score":[90,85,95]
}
st.table(student_data)

# 按钮
if st.button("点击我"):
st.write("你点击了按钮")

# 输入框
name = st.text_input("请输入你的名字")
st.write(f"你好,{name}")

# 密码输入框
password = st.text_input("请输入你的密码", type="password")
st.write(f"你好,{password}")

# 多选框
if st.checkbox("请选择你的性别"):
st.write("你选择了性别")

# 单选框
if st.radio("请选择你的性别",["男","女"]):
st.write("你选择了性别")

# 下拉框
if st.selectbox("请选择你的性别",["男","女"]):
st.write("你选择了性别")


5. 核心代码原理解析

5.1 页面初始化配置

st.set_page_config 函数用于定义整个页面的基本属性。合理配置该函数可以提升应用的用户体验:

  • layout="wide":将页面调整为宽屏模式,适合展示大尺寸表格和图表。
  • menu_items:自定义右上角菜单中的选项,便于添加帮助文档或项目说明。

5.2 数据流动与状态更新

Streamlit 的核心运行机制是自上而下运行。当用户在界面上进行交互(例如点击按钮、输入文本或切换单选框)时,整个 Python 脚本会重新从头到尾执行一次。Streamlit 内部会处理状态的保留,确保更新后的变量值能够在页面上正确呈现。


6. 总结

Streamlit 提供了一种简单直观的方式,让 Python 开发者能够快速搭建交互式 Web 界面。通过其丰富的内置组件,您可以专注于数据处理和业务逻辑,而不必耗费精力在前端布局与通信上。对于原型设计、内部工具开发以及机器学习模型演示,Streamlit 是一个值得尝试的工具。

赞(0)
未经允许不得转载:171主机测评 » Python Web 快速开发:Streamlit 入门指南与常用组件解析
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址