用Python开发web应用——Streamlit框架解析:2 -- 会话状态
简介
在Streamlit中,与一个部件widget的交互会触发“重新运行”rerun,这样一来每次运行后代码中的变量都会被重新初始化。这可能会带来很麻烦的问题,比如实现一个简单的“累加计数按钮”,每次点击后都会清零,无法实现累加功能。
为了解决类似问题,Streamlit引入了一种新的特性:会话状态Session State,它是一种可以在rerun之间保存变量状态、配合使用回调函数处理部件上的事件、动态改变部件状态等等的功能(注意,这些功能发生在一个session中,一个session可以简单理解为用户通过浏览器的一个标签页来访问Streamlit)。其可以用在如下场景中:
(1)数据或图