글자 입력받기
2부에 온 걸 환영한다냥! 지금까지는 우리가 화면에 글자를 보여주기만
했다냥. 이제부터는 반대로, 사용자에게 입력을 받아본다냥. 파이썬의
input() 기억나냥? Streamlit 버전 input() 을 배우는 거라냥!
오늘의 학습 목표
st.text_input으로 한 줄 글자를 입력받는다.st.text_area로 여러 줄 글자를 입력받는다.- 입력받은 값을 변수에 담아 화면에 다시 보여준다.
streamlit1.40 이상파이썬 코드로 웹 화면 만들기
설치하기 — 터미널에 그대로 붙여넣기
pip install "streamlit>=1.40"설치 확인 — 버전 번호가 찍히면 성공
python -c "import streamlit; print(streamlit.__version__)"위 버전은 최소 기준이라, 더 높은 버전이 깔려 있으면 그대로 써도 된다냥. 버전이 안 찍히고 에러가 나면 설치가 안 된 거라 설치 명령을 다시 실행해보자냥.
1단계 · input 과 닮았다냥
파이썬에서 이름을 물어볼 때 name = input("이름? ") 이라고 썼지?
Streamlit 도 똑같다냥. name = st.text_input("이름?") — 함수만 바뀌고
나머지는 그대로다냥. 입력한 값이 name 에 담긴다냥!
input 과 text_input, 어디가 다르냥
둘 다 입력한 값을 돌려준다는 점은 똑같다냥. 그래서 변수에 받아서 쓰면 된다냥!
2단계 · 한 줄 입력 — text_input
import streamlit as st
name = st.text_input("이름을 입력하세요")
st.write("안녕, " + name + " 님이다냥!")아직 아무것도 안 쳤을 때는?
입력창이 비어 있으면 name 은 빈 문자열 "" 이라냥. 그래서 처음
화면엔 "안녕, 님이다냥!" 처럼 이름 자리가 비어 보인다냥. 이걸 깔끔하게
처리하는 법은 곧 배운다냥!
미리 채워두기 — value
st.text_input("이름", value="코딩냥") 처럼 value 를 주면 입력창에
기본값이 미리 들어가 있다냥. 사용자가 지우고 새로 칠 수 있다냥.
3단계 · 여러 줄 입력 — text_area
이름처럼 짧은 건 text_input 이 좋지만, 자기소개나 후기처럼 긴 글은
text_area 가 좋다냥. 입력창이 넓은 상자로 바뀌어서 여러 줄을 쓸 수
있다냥!
import streamlit as st
story = st.text_area("자기소개를 써주세요")
st.write("입력한 소개는 아래와 같다냥:")
st.write(story)4단계 · 직접 해보기
미션 · 인사 카드 만들기
st.text_input으로 이름을 받고st.text_area로 하고 싶은 말을 받아서- 아래에 "OO 님이 남긴 말: ..." 형태로 다시 보여주기
입력창에 글자를 칠 때마다 아래 화면이 자동으로 바뀌는 걸 볼 수 있다냥. 왜 그런지는 다음다음 강(재실행)에서 설명한다냥!
복습 퀴즈
글자를 받을 수 있게 됐다냥! 그런데 이름을 자유롭게 치는 것보다 정해진 것 중에 고르게 하는 게 나을 때도 많다냥. 다음 시간엔 선택 위젯들을 배워보자냥.
