Streamlit 매직 커맨드 — 텍스트를 빠르게 그리기
Streamlit 매직 커맨드 — 텍스트를 빠르게 그리기
Streamlit의 매직 커맨드는 코드 한 줄을 그대로 화면 요소로 바꿔주는 문법이에요. 매직 커맨드로 쓰인 줄은 내부적으로 st.write()를 호출하죠. 결과적으로 st.write로 감싸는 것과 같은 효과지만, 코드가 훨씬 깔끔해져요. 프로토타입을 빠르게 만들 때 특히 유용해요.
매직 커맨드가 동작하는 곳
매직 커맨드는 모듈의 최상위 레벨에서만 동작해요. 함수나 조건문 같은 블록 안에서는 동작하지 않으니, 그 안에서는 st.write()를 명시적으로 써야 해요.
기본 사용
마크다운 문자열이나 변수를 그냥 쓰면 돼요.
# 매직 커맨드 — 자동으로 st.write() 호출
"This is *Markdown*" # 마크다운 그대로 렌더링
my_variable # 변수 값 표시
"dataframe:", my_data_frame # 라벨과 함께 데이터프레임 표시
이것은 다음 코드와 같은 결과예요.
import streamlit as st
st.write("This is *Markdown*")
st.write(my_variable)
st.write("dataframe:", my_data_frame)
매직 커맨드가 지원하는 형식
- 마크다운:
# 제목,*기울임*,**굵게**같은 마크다운 문법을 그대로 렌더링해요. - 데이터: 딕셔너리나 데이터프레임을 받으면 인터랙티브하게 표시되는 걸 포함해서,
st.write가 받는 대부분의 객체를 다룰 수 있어요.
어떤 때 쓰면 좋을까
마크다운 셀을 만들고 싶을 때, 분석 중간중간 변수나 결과를 빠르게 확인하고 싶을 때 매직 커맨드가 딱이에요. 반면 제어 흐름(조건문·반복문) 안에서 동적으로 출력할 때는 st.write()나 st.markdown()을 명시적으로 호출하는 게 맞아요.
더 알아보기
매직 커맨드의 전체 규칙(들여쓰기, 동작 위치)은 공식 Write Magic 문서에서 확인할 수 있어요.