テキストと数値の入力
ユーザーからデータを受け取るためのウィジェットを紹介します。 Streamlitでは、「ウィジェットを変数に代入するだけ」 で入力値を受け取れるのが最大の特徴です。
テキスト入力
Section titled “テキスト入力”文字を入力してもらうためのウィジェットです。
st.text_input(): 1行の入力(名前やキーワードなど)st.text_area(): 複数行の入力(感想や長文など)
import streamlit as st
st.title("テキスト入力")
# テキスト入力フォームname = st.text_input("お名前を入力してください", placeholder="例:山田 太郎")
if name: st.write(f"こんにちは、**{name}** さん!")else: st.warning("名前がまだ入力されていません")
st.write("---")
# テキストエリア(複数行)feedback = st.text_area("感想を教えてください", height=150)
if st.button("送信"): st.write("以下の内容で受け付けました:") st.code(feedback)入力した瞬間に変数の中身が書き換わり、画面が更新されます。
数値(整数・小数)を入力してもらうためのウィジェットです。
st.slider(): 直感的に値を変更できます。範囲指定に適しています。st.number_input(): 正確な数値を入力できます。
import streamlit as st
st.title("数値の入力")
# スライダーst.subheader("スライダー")age = st.slider("年齢を選択", min_value=0, max_value=100, value=20)st.write(f"あなたは {age} 歳ですね。")
st.write("---")
# 数値入力ボックスst.subheader("数値入力")height = st.number_input("身長(cm)を入力", min_value=0.0, step=0.1)weight = st.number_input("体重(kg)を入力", min_value=0.0, step=0.1)
if height > 0 and weight > 0: bmi = weight / ((height/100) ** 2) st.metric("あなたのBMI", f"{bmi:.2f}")計算結果がリアルタイムに反映されるのを確認してください。