首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python中有哪些你觉得超级牛的模块?

Python中有哪些你觉得超级牛的模块?

作者头像
用户11754185
发布2025-12-16 18:23:55
发布2025-12-16 18:23:55
1250
举报

一个完整的应用往往由前端、后端组成,对于Python开发同学而言,大多数时间都集中在后端开发过程中,例如,数据分析、机器学习、深度学习等等。

但是,当想要实现一套完整的应用,用于面相其他用户提供交互时就比较困难了,把Python代码直接打包给其他人用显然是不合理的。

话说回来,作为一名Python开发同学,本职工具就应该聚焦于数据、算法处理方面,如果再额外学前端、应用部署等内容成本就会高很多。

今天就来给大家介绍一款Python开源工具包,能够轻松解决这个问题,快速实现完整应用的搭建。

Taipy

Taipy是一个开源的Python工具包,可以用于构建Web应用程序的前端和后端,使用非常简单,目前在Github已经有超过1.1K Star

下面就来介绍一下这款工具到底该如何使用。

安装

和Python其他工具包一样,可以直接通过pip命令进行安装:

代码语言:javascript
复制
$ pip install taipy
简单示例

通过上面一行命令就完成安装了,下面通过一个简单示例来看一下它如何使用。

代码语言:javascript
复制
from taipy import Gui

excitement_page = """
# Welcome to Taipy
### How excited are you to try Taipy?

<|{excitement}|slider|min=1|max=100|>

My excitement level: <|{excitement}|>
"""
excitement = 100

Gui(page=excitement_page).run()

这里简单解释一下上面代码,首先是导入taipy工具包,然后定义一个页面,这个页面包含几部分信息:

  • 一级标题
  • 三级标题
  • 滑动条
  • 变量显示

然后运行代码就可以了。

动图封面
动图封面
场景

通过前面的例子已经大概知道Taipy这款工具包怎么用了,下面来介绍一个Taipy中非常重要的概念:场景

Taipy场景(Scenario)表示具有一致数据和参数的业务问题,场景包含可提交执行的有向无环图(或DAG), 场景DAG是一组将数据节点连接在一起的任务。 它也可以通过定义一个序列来分解成更小的图来执行。

序列是从场景的任务集派生的连接任务的子集,形成了可以与场景DAG分开提交的较小的可执行DAG。

场景还可以包含一组不属于场景DAG的附加数据节点,表示与场景相关的附加数据。

下面就通过代码实现实现一套场景执行图:

代码语言:javascript
复制
def filter_genre(initial_dataset: pd.DataFrame, selected_genre):
    filtered_dataset = initial_dataset[initial_dataset['genres'].str.contains(selected_genre)]
    filtered_data = filtered_dataset.nlargest(7, 'Popularity %')
    return filtered_data

结果:

最佳实践

到这里,已经对UI创建、场景这些基本用法有了基本的认识,下面就来上升一下,全面的实现一套应用程序。

下面,首先实现场景创建过程:

代码语言:javascript
复制
import taipy as tp
import pandas as pd
from taipy import Config, Scope, Gui

# Taipy场景和数据管理

# 筛选函数
def filter_genre(initial_dataset: pd.DataFrame, selected_genre):
    filtered_dataset = initial_dataset[initial_dataset["genres"].str.contains(selected_genre)]
    filtered_data = filtered_dataset.nlargest(7, "Popularity %")
    return filtered_data

# 加载Taipy配置
Config.load("config.toml")
scenario_cfg = Config.scenarios["scenario"]

# 启动服务
tp.Core().run()

# 创建一个场景
scenario = tp.create_scenario(scenario_cfg)

接下来再定义用户界面:

代码语言:javascript
复制
# Taipy用户界面

# 定义一个回调函数
def on_genre_selected(state):
    scenario.selected_genre_node.write(state.selected_genre)
    tp.submit(scenario)
    state.df = scenario.filtered_data.read()

# 获取候选项列表
genres = [
    "Action", "Adventure", "Animation", "Children", "Comedy", "Fantasy", "IMAX"
    "Romance","Sci-FI", "Western", "Crime", "Mystery", "Drama", "Horror", "Thriller", "Film-Noir","War", "Musical", "Documentary"
    ]

# 初始化变量
df = pd.DataFrame(columns=["Title", "Popularity %"])
selected_genre = "Action"

## 定义初始化动作
def on_init(state):
    on_genre_selected(state)

# 用户UI定义
my_page = """
# Film recommendation

## Choose your favorite genre
<|{selected_genre}|selector|lov={genres}|on_change=on_genre_selected|dropdown|>

## Here are the top seven picks by popularity
<|{df}|chart|x=Title|y=Popularity %|type=bar|title=Film Popularity|>
"""

Gui(page=my_page).run()

下面按一下结果:

动图封面
动图封面

这样就实现了一套完整的web应用,如果有服务器的话还可以进行持久化部署,感兴趣的同学可以试一下。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Taipy
    • 安装
    • 简单示例
    • 场景
    • 最佳实践
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档