파이썬 스레드 (Thread) 스레드란 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 한 프로그램은 하나의 스레드를 가지고 있지만, 프로그램 환경에 따라 둘 이상의 스레드를 동시에 실행할 수 있다. 이러한 실행 방식을 멀티스레드라고 한다. 코드 작성방법을 살펴보자 import threading #스레드 임포트 import time def f1(num): for i in range(1, 21): print('th'+num+':', i) time.sleep(0.3) #실행중인 현재 쓰레드를 초만큼 잠재움, 딜레이 #인자값에 따라서 제어가능 def f2(): s = 'abcdefghijklmnopqrstuvwxyz' for i in s: print('th4 : ', i) time.sleep(0.3) de.. 2020. 12. 17. 계산기 프로그램 TKinter tkinter 라이브러리를 활용한 GUI 환경의 계산기 프로그램을 만들어 보았다. 소스를 살펴보자 import tkinter as tk class Calc: def __init__(self, root): self.num1 = None self.num2 = None self.op = None self.result = None self.root = root self.uiInit() def uiInit(self): self.root.title('계산기') #숫자가 표기될 레이블 생성 및 셋팅 self.label = tk.Label(self.root, width=25) self.label.grid(row=0, column=0, columnspan=4) # 각 버튼을 셋팅한다. self.b1 = tk.Button.. 2020. 12. 17. GUI 멀티 채팅 프로그램 (TKinter, Thread, Socket) 수업시간에 배운 내용들을 토대로 하여 작은 프로그램을 하나 만들어 보았다. 프로그램은 GUI 멀티 채팅 프로그램이며, Tkinter와 스레드, 소켓 라이브러리를 활용하여 구현했다. 위 세 라이브러리를 실제로 사용한 것은 이번이 처음이지만, 프로그램을 완성시키기 위해 이것 저것 검색해보고 분석하다보니 금방 적응할 수 있었다. 소스를 살펴보자~! import socket, threading class Room: # 채팅방 클래스. def __init__(self): self.clients = [] self.allChat=None def addClient(self, c): # c: 텔레마케터 . 클라이언트 1명씩 전담하는 쓰레드 self.clients.append(c) def delClient(self, c).. 2020. 12. 17. TKinter 기본 (파이썬 GUI) #라이브러리 임포트 import tkinter as tk #윈도우 객체 생성 window = tk.Tk() #윈도우창의 타이틀 설정 root.title('타이틀') #윈도우 창의 크기와 위치를 지정,(가로x세로+좌표(x,y)) window .geometry('300x200+100+100') #크기 제어를 못하도록 막아둠 root.resizable(False, False) # 뷰 위젯의 하나인 레이블객체 생성 (hello world 출력) # 옵션으로 width, heigth text 등이 있음 label = tk.Label(window, text='hello wolrd') # pack을 이용해서 위젯(레이블,버튼 등...)을 윈도우 창에 배치를 함 label.pack() label.pack(side ='.. 2020. 12. 17. 파이썬 소켓(TCP) TCP에서 사용하는 소켓에 대해서 알아보자. 소켓은 전송계층과 응용계층을 이어주는 역할을 하며, 응용프로그램은 소켓을 통하여 통신망에 데이터를 송,수신 할 수가 있다. 네트워크는 서버와, 클라이언트가 연결된 상태로 구성되어있으며, 그 연결 과정으로는 다음과 같다 1. (서버, 클라이언트)소켓 객체 생성 2. (서버) 호스트 및 포트 바인드 3. (서버) 클라이언트의 접속을 허용(listen) 4. (서버) accept : 클라이언트의 연결을 기다림, 클라이언트가 접속하면 소켓을 리턴한다 5. (클라이언트) connect : accept상태의 서버에 접속 socket.sendall(data) : data를 연결된 소켓으로 전송한다 socket.recv(bufferSize) : 연결된 소켓으로부터 buffe.. 2020. 12. 15. [프로그래머스] 시저 암호 - 파이썬 문제 programmers.co.kr/learn/courses/30/lessons/12926 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 programmers.co.kr 문제설명 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 AB는 1만큼 밀면 BC가 되고, 3만큼 밀면 DE가 됩니다. z는 1만큼 밀면 a가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 공백은 아무리 밀어도 .. 2020. 12. 3. 이전 1 2 3 4 ··· 10 다음 반응형