Py学习  »  Python

streamlit,一个超级牛逼的python库!【让你无需前端编程,就能写出个网站】

Quora文选 • 2 年前 • 337 次点击  
/ / RPA小站的第 069 篇 / /

一、Streamlit是什么?

Streamlit 是一个开源的 Python 库,用于快速构建和共享数据应用程序。它的设计理念是简化数据科学家和工程师的工作流程,使他们能够在几分钟内将数据转换为交互式的可视化应用,而无需具备前端开发的技能。Streamlit 通过简单的 Python 脚本实现复杂的用户界面和交互功能,极大地提高了数据应用的开发效率。

二、Streamlit的主要功能

  1. 快速构建应用:只需几行代码即可创建功能丰富的 Web 应用,适用于数据展示、分析和机器学习模型的演示。
  2. 实时更新:应用程序会在代码更新时自动重新加载,无需手动刷新。
  3. 丰富的组件库:提供多种内置组件,如图表、表格、文本输入、文件上传等,支持与其他 Python 数据库和可视化库(如 Pandas、Matplotlib、Plotly 等)无缝集成。
  4. 交互功能:支持用户输入和交互,使数据应用更加动态和用户友好。
  5. 部署简单:支持在本地运行,也可以通过 Streamlit 的云服务或其他云平台轻松部署。

三、Streamlit的安装方法

要安装 Streamlit,可以使用以下的 pip 命令:

pip install streamlit

如果需要使用国内的镜像源(如清华大学的镜像源),可以使用以下命令:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple streamlit

然后通过powershell运行streamlit run 你的文件名.py

之后就会在浏览器里打开界面,显示结果:

如果做了映射,还能进行远程访问。,岂不是很香


四、Streamlit的使用示例

以下是几个典型的代码示例,展示了如何使用 Streamlit 构建简单的应用:

示例 1:Hello World 应用

import streamlit as st

st.title('Hello, Streamlit!')
st.write('这是一个简单的 Streamlit 应用。')

示例 2:交互式数据输入

import streamlit as st

name = st.text_input('请输入你的名字:')
if name:
  st.write(f'你好, {name}!')

示例 3:显示数据表格

import streamlit as st
import pandas as pd

data = {
  '姓名': ['张三''李四''王五'],
  '年龄': [253035]
}
df = pd.DataFrame(data)

st.write('数据表格示例:')
st.dataframe(df)

示例 4:绘制图表

import streamlit as st
import matplotlib.pyplot as plt

# 创建数据
data = [1 2345]
fig, ax = plt.subplots()
ax.plot(data)

# 显示图表
st.pyplot(fig)

五、Streamlit的优势

  1. 易用性:Streamlit 使用纯 Python 编写,降低了学习成本和开发难度。
  2. 快速迭代:支持实时更新和快速原型开发,极大地提高了开发效率。
  3. 丰富的组件:内置多种常用组件,支持与主流数据处理和可视化库的无缝集成。
  4. 开源和社区支持:作为开源项目,Streamlit 拥有活跃的社区,提供了大量的示例和支持。
  5. 跨平台支持:可以在本地、服务器或云平台上运行,部署灵活。

六、Streamlit的适用场景

  1. 数据分析和展示:适用于数据科学家和分析师快速构建数据可视化和分析工具。
  2. 机器学习模型演示:方便机器学习工程师展示和分享模型的预测结果和性能。
  3. 交互式报告:可以将静态报告转化为交互式应用,提供更丰富的用户体验。
  4. 快速原型开发:适合开发者进行快速原型设计和验证,节省开发时间。

总结

无论是数据分析、机器学习模型展示,还是快速原型开发,Streamlit 都展示了其卓越的优势和广泛的适用性。作为一个开源项目,Streamlit 拥有活跃的社区支持,未来的发展前景十分广阔。


 / / 往期精选 / /
我是如何利用RPA批量给微信(群)发消息的
【零代码】实现滑动验证码的处理

👇点此观注我👇

©版权归原作者所有

欢迎分享、点赞、收藏

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/171160