본문 바로가기

파이썬64

[python] if __name__ == '__main__' 다른 사람들의 코드를 참고하거나 강의를 보다보면 생각보다 자주 눈에 띄는 코드가 있다. 바로 if __name__ == '__main__' : 과 같은 조건문인데, 내가 하나의 파이썬 파일에서 코드를 작성할 때는 필요가 없지만, 뭔가 모듈화를 하고 내 코드가 점점 복잡해진다면 그때는 꼭 필요한 요소가 된다. (* 모듈화는 무엇이고, 왜 해야하는지는 다음 포스팅에서 다뤄보겠습니다.) 2023.11.28 - [IT 배우기/이것저것] - 모듈화 1(modularity) 모듈화 1(modularity) 오늘의 포스팅 주제는 앞서 예고한 모듈화(modularity)이다. 파이썬이라는 특정 언어에 국한한 것이 아니라 소프트웨어 전체에 해당하는 내용으로 문제 해결을 위한 분석이나 설계, 개발과 유지보 to-all-r.. 2023. 11. 27.
독학 Python tkinter(GUI) - 19.Last piece1(thread) 이제 우리가 원하는 간단한 GUI는 취향에 맞춰 만들 수 있다는 자신감이 생겼을 것이다. 여기까지만 해도 훌륭하지만, 조금 아쉬운 부분이 있다. 아래의 요청사항을 처리하는 코드를 작성하며 문제점과 처리 방법에 대한 고민을 해보자. Request. - 버튼을 누르면 1부터 10까지 1초에 1씩 증가하는 타이머 GUI를 만들어 보세요. 위와 같은 요청사항을 받는다면, 어렵지 않게 시간을 보여줄 수 있는 레이블 또는 엔트리를 하나 만들고 time 라이브러리를 활용해 버튼을 누르면 1초를 기다린 뒤 위에서 생성한 레이블(또는 엔트리)의 값을 변경해주면 되는 간단한 GUI이다. 자신있게 코드를 작성해보면 아래와 크게 다르지 않을 거다. 1. 코드 작성하기 from tkinter import * import tim.. 2023. 11. 22.
python Thread(쓰레드) 병렬처리2(답안) 해당 포스팅은 지난 시간에 진행된 쓰레드에 관련된 문제를 해결하는 포스팅입니다. 2023.11.17 - [Python/Tip & Etc] - python Thread(쓰레드) 병렬처리 1. 문제 다시보기 Question. A선수와 B 선수가 100m 달리기를 한다. 두 선수는 컨디션에 따라 결과를 예측하기 어려운 라이벌로 A 선수는 평균 4~7m/s, B선수는 평균 5~6m/s의 기록을 가지고 있다. 오늘 두 선수의 속도는 최소값과 최대 값 사이의 임의의 정수 값을 가질 때, 결과를 출력하는 코드를 작성해보세요. 결과 풀이에 앞서 지난 포스팅에서는 매서드를 이용한 방법으로 쓰레드를 처리하였는데, 앞선 포스팅과 같이 함수를 사용할 수도 있고, 클래스로도 사용할 수 있다. 오늘은 이 2가지를 모두 살펴보겠다.. 2023. 11. 18.
python Thread(쓰레드) 병렬처리 파이썬은 한줄씩 코드를 처리하는 인터프리터 방식의 프로그래밍 언어이다. 한줄씩 처리한다는 의미대로 해석해보면 2개 이상의 코드를 실행(병렬처리)할 수 없다는 의미인데, 아래 코드를 실행해보면 당연하게도 Start 라는 print 문을 실행한 뒤, 5초 동안의 대기 후 for 문이 실행된다. import time delay_sec = 5 print('Start') time.sleep(delay_sec) print(f'This Delay Time {delay_sec} Second') for i in range(1, 11): print(f'run {i}') time.sleep(1) - 오늘 포스팅은 빨간색과 보라색 영역을 동시에 실행하는 쓰레드(Thread / 병렬처리) 에 대한 포스팅이다. 1. Thread.. 2023. 11. 17.
독학 Python tkinter(GUI) - 18.Menubutton 단순해보이는 메모장만 하더라도 화면뿐 아니라 상단에 메뉴바가 있다. 당연히 우리도 이런걸 할 수 있다. button과 유사한 방법으로 메뉴항목을 만들고, 해당 항목을 선택할 때 특정 기능을 실행할 수 있다. 1. 최상단 메뉴 항목 만들기 - 일단 메모장과 같은 메뉴 항목을 만들고, 실행할 comman는 print문으로 단순히 확인만 진행해보겠다. from tkinter import * root = Tk() root.title('To올라운드의 알찬 GUI 강의') root.geometry("300x500") # 가로 X 세로 / 대문자X 하면 실행안됨 #msb.showinfo('Welcome','안녕하세요. To올라운더와 함께 하는 GUI입니다.') body_frame = Frame(root, relief.. 2023. 11. 16.
독학 Python tkinter(GUI) - 17.progressbar 진행 상태를 알려주는 GUI로 Label 의 값을 계속 변경해 줄 수도 있지만, 좀 더 시각적이고 가시적으로 보여주기위해서는 progressbar를 이용해보는게 좋다. 1. 코드 - 이번에도 tkiner.ttk 라이브러리를 사용한다. - 단순히 Progressbar 객체(위젯)를 생성하는 것은 한두 줄의 코드로 되지만, 우리가 원하는 것처럼 진행하기 위해서는 몇가지 옵션이 필요하다. - 파라미터별 비교를 위해 progressbar1~3을 각각 만들었다. from tkinter import * import tkinter.ttk root = Tk() root.title('To올라운드의 알찬 GUI 강의') root.geometry("300x500") # 가로 X 세로 / 대문자X 하면 실행안됨 #msb.sh.. 2023. 11. 15.
독학 Python tkinter(GUI) - 16.photoimage(+PIL) 사용자 편의를 위한 기능 구현에 초점이 맞춰진 GUI이지만, 지금까지 배운 GUI의 버튼이나 다른 위젯들은 모두 텍스트로 이루어져 뭔가 삭막한 느낌을 가졌을 것이다. 그래서 오늘은 tkinter내에 이미지를 추가할 수 있는 photoimage에 대해 알아보겠다. 1. 준비물 - 오늘은 준비물이 있다. - 바로 GUI에 추가할 이미지 인데, 아무런 이미지를 하나 불러 와도 되고, 만만한 비단뱀 이미지를 다운 받아도된다. - 해당 파일의 이름은 'python.png' 이고 경로는 코드를 작성하는 py 와 같은 경로에 있다. - 경로가 동일하지 않아도 상관없지만 경로가 다르다면 이후 코드에서 해당 경로도 나타내주어야한다. - 준비는 이제 끝났다. 2. 코드 - 코드는 외의로 간단하다. Label을 선언해주고,.. 2023. 11. 14.
독학 Python tkinter(GUI) - 15.Combobox 콤보박스(Combobox)는 드랍다운 형식으로 결과 값이나 텍스트를 목록 형식으로 보여주는 기능을 말한다. 말로는 조금 어려울 수 있지만 콤보박스 또한 사용자가 다른 프로그램을 통해 흔히 봐왔던 기능이고, 단순히 보면 이런 목록 형태로 선택을 하는 기능이다. 1. 코드 - 지난 시간 사용했던 radiobutton도 여러 항목 중 하나를 선택하는 기능을 가지고 있었다. - 그런데, radiobutton을 만들었을 때 적용했던 연령 그룹을 좀 더 세분화하여 나누거나 나이를 입력 받으려하면, radiobutton 보다는 combobox가 더 적합한 기능이 된다. - 내용 비교를 위해 radiobutton과 함께 나타내보겠다. - combobox를 사용하기 위해서는 tkinter.kkt 라이브러리가 필요하다. .. 2023. 11. 13.
독학 Python tkinter(GUI) - 14.radiobutton(+LabelFrame) 지난 포스팅에는 각각의 선택이 진행되어야 하는 checkbutton을 확인했다면, 오늘 포스팅은 여러개 중 하나를 선택하는 경우에 사용되는 radiobutton을 확인해 볼 예정입니다. 1. radiobutton 기본 설정 from tkinter import * import tkinter.messagebox as msb from tkinter import filedialog # 파일 open 기능 사용 root = Tk() root.title('To올라운드의 알찬 GUI 강의') def get_checkbutton_stat(): print(f'check1 의 상태 : {check1_value.get()}') print(f'check2 의 상태 : {check2_value.get()}') print(f'c.. 2023. 11. 12.
독학 Python tkinter(GUI) - 13.checkbutton 사실 앞의 포스팅만으로도 충분히 GUI를 구성할 수 있지만, 앞으로 배울 checkbutton이나 radiobutton 등을 함께 배운다면 용도에 맞게 더 적합한 GUI 환경을 구성할 수 있다. 1. checkbutton - 체크 버튼은 사용자가 고정된 내용이나 기능을 반복적으로 사용하거나 사용 유무를 표기할 때 주로 사용한다. - checkbutton 의 경우, 각각 독립적인 상태를 가진다.(다른 checkbutton의 상태에 영향을 받지 않는다.) from tkinter import * import tkinter.messagebox as msb from tkinter import filedialog # 파일 open 기능 사용 root = Tk() root.title('To올라운드의 알찬 GUI 강의.. 2023. 11. 11.
반응형