• Streamlit学习笔记


    Streamlit学习笔记


    无意间看到低代码的Streamlit,感觉很好用还可以免费部署,这个结合AI和数据科学来演示,效果很好。最近比较有空就看看文档学习一下。文档里的内容很全面,我就只记一些自己觉得有用的,想学习的推荐去看 官方文档

    1.基础知识点

    1.运行需要在命令行里:streamlit run your_app.py
    2.常用组件:

    作用语句
    显示文本st.write(“普通文字”);st.write(“”“makerdown文本”“”);st.text(‘普通文本.’);st.title(‘title’);st.header(‘title’);st.subheader(‘subheader’)
    显示jsonst.json({ “code”: 0,“data”: { “sex”: “female”, “age”: 18,“score”: 100}})
    显示代码st.code(“”“print(‘Hello’)”“”, language=‘python’)
    显示DataFramest.dataframe(pd.DataFrame(np.random.randn(5, 2), columns=([‘col_1’,‘col_2’])))(表格有滚动条);st.table(df)(表格没有滚动条)
    输入文本st.text_input(‘请输入最喜欢的编程语言’, key=“name”)
    按钮st.button(“我是按钮,点击我”)
    滑动条st.slider(‘temperature’, 0, 100)
    勾选框st.checkbox(‘Yes’)
    单选框st.radio(‘Pick a language’, [‘python’, ‘c’, ‘rust’, ‘c++’])
    下拉单选st.selectbox(‘用过哪种编程语言?’, (‘python’, ‘c’, ‘java’, ‘rust’))
    日期选择器st.date_input(‘when’)
    颜色选择器st.color_picker(‘Pick a color’)
    文件上传选择器st.file_uploader(‘Pick a file’)

    3.session_state

    if 'counter' not in st.session_state:
        st.session_state.counter = 0
    if st.button('Increment'):
        st.session_state.counter += 1
    st.write('Count= ', st.session_state.counter)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4.回调(callbacks)是一个python函数,它在输入组件被更改时被调用,比如按钮被点击、滑动条被拉拽等。
    无参回调

    if 'counter' not in st.session_state:
        st.session_state.counter = 0
    def increment_counter():
        st.session_state.counter += 1
    st.button('Increment', on_click=increment_counter)
    st.write('Count= ', st.session_state.counter)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    args回调

    if 'counter' not in st.session_state:
        st.session_state.counter = 0
    increment_value = st.number_input('Enter a value', value=0, step=1)
    def increment_counter(increment_value):
        st.session_state.counter += increment_value
    increment = st.button('Increment', on_click=increment_counter,args=(increment_value))
    st.write('Count = ', st.session_state.counter)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    kwargs回调

    if 'counter' not in st.session_state:
        st.session_state.counter = 0
    def increment_counter(increment_value=0):
        st.session_state.counter += increment_value
    def decrement_counter(decrement_value=0):
        st.session_state.counter -= decrement_value
    st.button('Increment', on_click=increment_counter,kwargs=dict(increment_value=5))
    st.button('Decrement', on_click=decrement_counter,kwargs=dict(decrement_value=1))
    st.write('Count = ', st.session_state.counter)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    Spring注解驱动之AnnotationAwareAspectJAutoProxyCreator详解(一)
    QT C++ AES字符串加密实现
    09 nginx 中 upstream max_conns 配置为 1, 导致的一部分静态资源请求成功, 一部分静态资源请求失败
    宏任务、微任务,怎么执行的
    JavaScript Web APIs第二天笔记
    解密Spring Cloud LoadBalancer:实现高效负载均衡的魔法密卷(二)
    小米路由器青春版(R1CL)刷高恪软路由系统
    Linux源码包管理
    Android 小组件 AppWidgetProvider
    Android修改默认system/bin/下可执行程序拥有者和权限,使用实例,只有root和系统app权限才能执行某个命令。
  • 原文地址:https://blog.csdn.net/weixin_38226321/article/details/132360816