파이썬 코드에서 길이를 줄이고싶은데
조회수 822회
button1 = Button(window,text=" ",bg="skyblue",command=process1)
button2 = Button(window,text=" ",bg="skyblue",command=process2)
button3 = Button(window,text=" ",bg="skyblue",command=process3)
button4 = Button(window,text=" ",bg="skyblue",command=process4)
button5 = Button(window,text=" ",bg="skyblue",command=process5)
button6 = Button(window,text=" ",bg="skyblue",command=process6)
button7 = Button(window,text=" ",bg="skyblue",command=process7)
button8 = Button(window,text=" ",bg="skyblue",command=process8)
button9 = Button(window,text=" ",bg="skyblue",command=process9)
button10 = Button(window,text=" ",bg="skyblue",command=process10)
반복문을 써야되나요? 어떻게 줄여야되나요
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
2 답변
-
-
방법이야 여러가지가 있습니다.
리스트 같은 컨테이너를 이용하는 방법
eventPtrs = (process1, process2, process3) buttonContainer = [] for eventPtr in eventPtrs: buttonContainer.append(Button(window,text=" ",bg="skyblue",command=eventPtr)) buttonContainer[0] # 첫번째 버튼
리플렉션을 이용하는 방법
import sys mod = sys.modules[__name__] eventPtrs = (process1, process2, process3) for k, eventPtr in enumerate(eventPtrs ): setattr(mod, 'button{}'.format(k), Button(window,text=" ",bg="skyblue",command=eventPtr)) button0 # 첫번째 버튼
댓글 입력