显示一个数字输入小部件。
注意
由于Python服务器和JavaScript客户端之间的序列化限制,小部件无法准确存储或返回超过+/- (1<<53) - 1的整数值。您必须将这些数字作为浮点数处理,这会导致精度损失。
| 函数签名[source] | |
|---|---|
st.number_input(label, min_value=None, max_value=None, value="min", step=None, format=None, key=None, help=None, on_change=None, args=None, kwargs=None, *, placeholder=None, disabled=False, label_visibility="visible") | |
| 参数 | |
label (str) | 一个简短的标签,向用户解释此输入的用途。 标签可以选择性地包含以下类型的GitHub风格的Markdown:粗体、斜体、删除线、内联代码、链接和图片。图片显示为图标,最大高度等于字体高度。 不支持的Markdown元素会被解包,因此只有它们的子元素(文本内容)会呈现。通过反斜杠转义不支持的元素,将其显示为字面字符。例如, "1\. 不是一个有序列表"。 有关其他支持的Markdown指令,请参见st.markdown的body参数。 出于可访问性原因,您不应设置空标签,但如有需要,可以使用label_visibility隐藏它。将来,我们可能会通过引发异常来禁止空标签。 |
min_value (int, float, or None) | 允许的最小值。 如果为None,则没有最小值。 |
max_value (int, float, or None) | 允许的最大值。 如果为None,则没有最大值。 |
value (int, float, "min" 或 None) | 此小部件首次渲染时的值。如果为None,将初始化为空并返回None,直到用户提供输入。 如果为"min"(默认值),将使用min_value初始化,如果min_value为None,则使用0.0。 |
步长 (int, float, 或 None) | 步进间隔。 如果值为整数,则默认为1,否则为0.01。 如果未指定值,则将使用格式参数。 |
format (str or None) | 一个printf风格的格式字符串,控制界面应如何显示数字。输出必须是纯数字的。这不会影响小部件的返回值。格式化由sprintf.js处理。 例如,format="%0.1f"调整显示的小数精度,只显示小数点后一位。 |
key (str or int) | 一个可选的字符串或整数,用作小部件的唯一键。 如果省略,将根据小部件的内容生成一个键。 任何两个小部件都不能有相同的键。 |
help (str) | 一个可选的工具提示,显示在小部件标签旁边。 Streamlit 仅在 label_visibility="visible" 时显示工具提示。 |
on_change (callable) | 当此number_input的值发生变化时调用的可选回调函数。 |
args (tuple) | 传递给回调函数的可选参数元组。 |
kwargs (dict) | 一个可选的字典,用于传递给回调函数。 |
placeholder (str or None) | 当数字输入为空时显示的可选字符串。 如果为None,则不显示占位符。 |
disabled (bool) | 一个可选的布尔值,如果设置为True,则禁用数字输入。默认值为False。 |
label_visibility ("visible", "hidden", or "collapsed") | 标签的可见性。默认是"visible"。如果这是"hidden",Streamlit会显示一个空的占位符而不是标签,这有助于保持小部件与其他小部件对齐。如果这是"collapsed",Streamlit不会显示标签或占位符。 |
| 返回 | |
(int or float or None) | 数字输入小部件的当前值,如果小部件为空则为None。返回类型将与值参数的数据类型匹配。 |
示例
import streamlit as st number = st.number_input("Insert a number") st.write("The current number is ", number)要初始化一个空的数字输入,使用 None 作为值:
import streamlit as st number = st.number_input( "Insert a number", value=None, placeholder="Type a number..." ) st.write("The current number is ", number)
还有问题吗?
我们的 论坛 充满了有用的信息和Streamlit专家。