Python Streamlit介绍(开源Python Web应用框架,快速将Python脚本转换成交互式Web应用,适合数据科学和机器学习项目快速展示)

文章目录

Streamlit 介绍:用 Python 快速构建数据应用的利器

在数据科学和机器学习项目中,我们经常会遇到一个问题:模型做好了,如何优雅地展示给别人用?
传统的 Web 开发需要前后端分离、写大量 HTML/CSS/JS,对很多数据分析师来说门槛较高。

这时候,Streamlit 就成了一款非常值得推荐的工具。


一、什么是 Streamlit?

Streamlit 是一个开源的 Python Web 应用框架,专门为:

  • 数据科学家
  • 机器学习工程师
  • 数据分析师

设计,用于快速将 Python 脚本转换成交互式 Web 应用。

它的核心理念非常简单:

用纯 Python 写 Web 应用。

你无需掌握前端技术,也无需了解 Web 框架原理,只需要会写 Python。


二、为什么选择 Streamlit?

1️⃣ 上手极其简单

安装:

pip install streamlit 

创建一个 app.py

import streamlit as st st.title("Hello Streamlit") st.write("这是我的第一个 Streamlit 应用")

运行:

streamlit run app.py 

浏览器自动打开,一个 Web 应用就完成了。

没有 Flask 路由
没有 HTML 模板
没有前端打包

真的就是 —— 写 Python 即可。


2️⃣ 专为数据应用设计

Streamlit 天生支持:

  • DataFrame 展示
  • 图表可视化
  • 交互控件(滑块、按钮、下拉框)
  • 文件上传
  • 模型推理展示

示例:

import streamlit as st import pandas as pd import numpy as np df = pd.DataFrame( np.random.randn(50,3), columns=["A","B","C"]) st.dataframe(df) st.line_chart(df)

几行代码就可以生成动态可视化页面。


3️⃣ 开发效率极高

相比传统 Web 开发:

方案开发难度开发速度适合人群
Django/Flask中高Web 开发者
React/Vue前端工程师
Streamlit数据工作者

如果你是做数据分析或 AI 应用开发的,Streamlit 可以让你把 80% 的精力专注在业务和算法本身。


三、核心特性详解

1️⃣ 声明式编程模型

Streamlit 采用“从上到下执行”的脚本模型。

每次用户交互,脚本都会重新执行一次。

这让状态管理变得非常直观。


2️⃣ 丰富的交互组件

例如:

age = st.slider("请选择年龄",0,100,25) st.write("你的年龄是:", age)

常见组件包括:

  • st.button
  • st.selectbox
  • st.multiselect
  • st.file_uploader
  • st.text_input

无需写 JS 逻辑即可实现交互。


3️⃣ 与主流库无缝集成

Streamlit 可以直接使用:

  • pandas
  • numpy
  • matplotlib
  • plotly
  • scikit-learn
  • pytorch
  • tensorflow

这意味着你现有的数据代码几乎不用改。


四、典型应用场景

📊 数据分析展示平台

内部 BI 工具快速搭建。

🤖 机器学习模型 Demo

  • 文本分类
  • 图像识别
  • 推荐系统

几分钟即可构建在线推理页面。

📈 数据监控面板

  • 日志分析
  • 实时指标监控
  • 实验结果对比

五、部署方式

本地部署

streamlit run app.py 

云端部署

官方提供:

  • Streamlit Community Cloud

也可以部署到:

  • Docker
  • AWS
  • 阿里云
  • 公司内网服务器

六、优缺点分析

✅ 优点

  • 学习成本极低
  • 开发速度快
  • 专注数据场景
  • Python 生态完美融合

❌ 缺点

  • 不适合复杂前端交互
  • 不适合大型企业级 Web 系统
  • 页面自定义能力有限

七、适合哪些人?

Streamlit 非常适合:

  • 数据分析师
  • 算法工程师
  • AI 创业团队
  • 技术博主做 Demo 展示

如果你平时主要写 Python,而又希望快速构建 Web 产品原型,它几乎是首选。


八、总结

Streamlit 的核心价值是:极低门槛 + 极高效率。

它并不是用来取代传统 Web 框架的,而是:

为数据应用提供一个“最快可用”的展示解决方案。

在 AI 应用爆发的今天,快速构建 Demo、验证产品想法、内部展示模型结果,变得越来越重要。

如果你还没有尝试过 Streamlit,强烈建议体验一下。

也许你会发现:

原来做 Web 应用可以这么简单。

Read more

华为OD技术面真题 - Mysql相关 - 4

华为OD技术面真题 - Mysql相关 - 4

文章目录 * 简单介绍一下Mysql中BinLog、RedoLog和UndoLog * RedoLog * BinLog * UndoLog * Mysql中事务为什么需要两阶段提交 * 简单介绍一下两阶段提交的流程 * 什么是读写分离 * 怎样实现读写分离 * 说说Mysql主从复制流程 * 怎么避免主从延迟 简单介绍一下Mysql中BinLog、RedoLog和UndoLog RedoLog 重做日志是 InnoDB 存储引擎独有的,它让 MySQL 拥有了崩溃恢复能力。在MySQL 实例挂了或宕机了,重启时,InnoDB 存储引擎会使用 Redolog 恢复数据,保证数据的持久性与完整性。 redo log 它是物理日志,记录内容是“在某个数据页上做了什么修改”,属于 InnoDB 存储引擎独有。 BinLog Binlog 是逻辑日志,记录内容是语句的原始逻辑,类似于“给 ID=2 这一行的 c 字段加 1”,属于MySQL

By Ne0inhk

phpStudy的下载、安装

phpStudy是什么 phpStudy是一个PHP集成环境包,集成了PHP、MySQL、Apache、 Nginx、Redis、FTP、Composer,一次性安装,无须配置即可使用。 phpStudy官网 官网入口:https://m.xp.cn/phpstudy 使用手册:https://old.xp.cn/phpstudy-v8/ 下载phpStudy、安装 访问官网 https://m.xp.cn/phpstudy 点击 “phpStudy v8.1版本” 按钮,弹出对话框: 点击 “64位下载” 按钮,进入到: 将下载来的压缩包解压: 下面进行安装。注意:安装路径不能包含中文或空格。 点击右下角的 “自定义”,然后自定义一个安装目录: 单击“

By Ne0inhk
基于网络爬虫+Spark+Hadoop等大数据和SpringBoot技术实现的的汽车行业大数据分析与可视化平台系统(源码+论文+PPT+部署文档教程等)

基于网络爬虫+Spark+Hadoop等大数据和SpringBoot技术实现的的汽车行业大数据分析与可视化平台系统(源码+论文+PPT+部署文档教程等)

博主介绍:ZEEKLOG毕设辅导第一人、全网粉丝50W+,ZEEKLOG特邀作者、博客专家、腾讯云社区合作讲师、ZEEKLOG新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 2022-2024年最全的计算机软件毕业设计选题大全:

By Ne0inhk
Tomcat下载安装以及配置(详细教程)

Tomcat下载安装以及配置(详细教程)

本文讲的是Java环境 文章目录 * 前言 * 下载及安装Tomcat * 启动Tomcat * 测试Tomcat * 配置Tomcat 环境变量 * IDEA中配置Tomcat * Eclipse中配置Tomcat 前言 提示:这里可以添加本文要记录的大概内容: 今天晚上查看自己原来项目的时候,突然发现运行不了,仔细查看发现是tomcat没配置,但是tomcat在电脑里已经下载过了,只是还没有配置,这篇文章就讲tomcat在电脑与idea中的配置 提示:以下是本篇文章正文内容,下面案例可供参考 下载及安装Tomcat 进入tomcat官网,Tomcat官网 选择需要下载的版本,点击下载 下载路径一定要记住,并且路径中尽量不要有中文 下载后是压缩包 .zip,解压后 tomcat系统各个文件夹目录是什么意义: bin:放置的是Tomcat一些相关的命令,启动的命令(startup)和关闭的命令(shutdown)等等 conf:(configure)配置文件 lib:(library)库,依赖的 jar包 logs:Tomca

By Ne0inhk