スポンサーリンク

【Streamlit】テキスト/メッセージの表示方法まとめ

記事内に広告が含まれています。

Streamlitは、簡単にWebアプリケーションを作成できるPythonライブラリで、ユーザーとのインタラクションを作る際にテキスト、メッセージ表示が非常に重要な役割を果たします。

Streamlitでメッセージを表示する方法をまとめます。

スポンサーリンク

メッセージ表示の基本方法

Streamlitでメッセージを表示するためには、主に以下のメソッドを使用します。

  1. streamlit.write
  2. streamlit.text
  3. streamlit.markdown
  4. streamlit.info
  5. streamlit.success
  6. streamlit.warning
  7. streamlit.error
  8. streamlit.exception

以下、それぞれについて詳しく解説します。

write

writeは、最も汎用的なメソッドで、テキスト、数値、データフレーム、Markdownなど様々な形式を表示できます。

import streamlit as st

st.write("これは普通のメッセージです。")
st.write("Markdown形式も使えます: **太字**、*斜体*。")

Markdownが使えるので、簡易的なフォーマットが可能です。

任意のPythonオブジェクトを渡しても表示されます。

text

textは、シンプルなプレーンテキストを表示するために使います。

st.text("これはプレーンテキストのメッセージです。")

テキストそのままを表示したい場合に適しています。

フォーマットや装飾はできません。

markdown

markdownは、Markdown形式を使って装飾されたテキストを表示します。

st.markdown("### これは見出しです")
st.markdown("**太字**や_斜体_を使用できます。")

見出しやリストなど、豊富な装飾が可能です。

HTMLタグを使うこともできますが、完全なHTMLサポートはされていません。

info

infoは、情報を伝えるための青いボックスを表示します。

st.info("これは情報メッセージです。")

情報的な内容を目立たせるのに適しています。

success

successは、成功メッセージを緑色のボックスで表示します。

st.success("操作が成功しました!")

成功や完了を通知するのに最適です。

warning

warningは、注意メッセージを黄色のボックスで表示します。

st.warning("注意が必要です!")

ユーザーに注意を促す場合に使用します。

error

errorは、エラーメッセージを赤いボックスで表示します。

st.error("エラーが発生しました!")

問題やエラーを強調したいときに使用します。

exception

exceptionは、Pythonの例外オブジェクトをフォーマットして表示します。

try:
    1 / 0
except ZeroDivisionError as e:
    st.exception(e)

エラーの詳細をデバッグのために表示したい場合に便利です。

スポンサーリンク

応用例

動的メッセージの表示

ユーザー入力や計算結果に応じてメッセージを動的に変化させることも可能です。

name = st.text_input("名前を入力してください:")
if name:
    st.success(f"こんにちは、{name}さん!")
else:
    st.info("名前を入力してください。")

ローディングメッセージ

streamlit.spinnerを使うと、処理中のローディングメッセージを表示できます。

import time

with st.spinner("処理中です..."):
    time.sleep(2)
st.success("処理が完了しました!")

処理中メッセージについては、こちらの記事にまとめています。

サンプルコード全文

これまでにご紹介したサンプルコードの全文を記載します。

import streamlit as st

st.write("これは普通のメッセージです。")
st.write("Markdown形式も使えます: **太字**、*斜体*。")

st.text("これはプレーンテキストのメッセージです。")

st.markdown("### これは見出しです")
st.markdown("**太字**や_斜体_を使用できます。")

st.info("これは情報メッセージです。")

st.success("操作が成功しました!")

st.warning("注意が必要です!")

st.error("エラーが発生しました!")

try:
    1 / 0
except ZeroDivisionError as e:
    st.exception(e)

name = st.text_input("名前を入力してください:")
if name:
    st.success(f"こんにちは、{name}さん!")
else:
    st.info("名前を入力してください。")

import time

with st.spinner("処理中です..."):
    time.sleep(2)
st.success("処理が完了しました!")

まとめ

Streamlitでは、多彩なメッセージ表示方法が用意されており、状況に応じて使い分けることで、ユーザー体験を向上させることができます。視覚的な要素を活用することで、ユーザーが重要な情報を簡単に認識できるようになります。

スポンサーリンク
PythonStreamlit
著者SNS
タイトルとURLをコピーしました