button과 checkbox 조건문과 함수
버튼과 체크박스 모두 조건문을 사용할 때는 바로 아래에 텍스트가 출력되는데, 함수를 사용하면 대시보드 맨 위에 텍스트가 호출되는 것은 왜 그런건가요?(맨 위에 텍스트가 호출되어 출력된 부분이 전부 다 한 칸 씩 밀리게 됨)
回答 1
1
안녕하세요.
조금 어려울 수 있는 내용인데요.
if 문을 통해 button 클릭에 대한 이벤트(write 함수)를 실행하게 되면 위에서 아래로 순서대로 실행되는 파이썬 코드의 특성 상 button 함수 다음으로 실행되는 함수가 write이기 때문에 텍스트가 버튼 아래에 위치하게 됩니다. 즉, button 함수 -> if문이 True인 상황에서 button 다음에 위치하는 write 함수 -> 나머지 코드 순으로 웹 대시보드 UI가 구성됩니다.
on_click 인자를 사용하는 경우에는 if문을 사용하는 경우와는 조금 다릅니다. 버튼의 클릭에 의해 on_click 인자가 활성화 되는 때는 이미 button 위젯을 포함하여 나머지 파이썬 코드가 실행되어 이미 웹 대시보드가 모두 구성된 상태입니다. 즉, button 함수 -> 나머지 코드 -> on click에 의한 write 함수 호출 순으로 실행됩니다.
이 때 streamlit은 웹 대시보드가 이미 구성된 상태에서 특정 동작에 의해 구성 요소를 추가하는 기본 위치가 위쪽이기 때문에 맨 위에 텍스트가 생성되는 것입니다.
기출 11회 작업형 2_전체 데이터 학습 여부
0
12
1
RateLimitError
0
7
2
예측값 결과 소수점 차이
0
16
2
여태까지 발견한 이슈들 공유드립니다.
1
16
1
기출 문제와 실전챌린지 연습문제 무엇부터 푸는게 나은가요?
0
13
0
전처리 train() test([ ])
0
14
2
작업형 1 배경지식 질문
0
18
2
옳게 풀은건지 질문드립니다!
0
13
1
roc_auc_score
0
22
2
재귀함수 연산법
0
12
2
추가질문 합니다
0
14
2
시험환경 구름
0
16
2
2유형 질문드려요
0
13
2
RandomForest vs lgb
0
22
2
전처리 관련질문
0
21
3
수강기간즘연장해주세요
0
12
1
작업형3 기출
0
15
2
유형2에서 데이터분할 생략 가능여부
0
27
2
data download 문의
1
175
3
filter, rename axis 기본값
0
160
1
학습 데이터 다운로드 경로 문의드립니다
0
261
1
annot 수치 표현
0
348
1
groupby 경고 질문
0
1411
1
print()
0
288
1

