본문 바로가기

728x90

Python

(14)
#파이썬 기초 16일차 2.5 채팅 서비스 만들기 2.5.1 채팅 서버 만들기chatserver.pyimport socketserverimport threadingHOST = ''PORT = 9009lock = threading.Lock()class UserManager:    def __init__(self):        self.users = {}    def addUser(self, username, conn, addr):        if username in self.users:            conn.send('이미 등록된 사용자입니다.\n'.encode())            return None        # 새로운 사용자를 등록함        lock.acquire()        self.users..
#파이썬 기초 15일차 계산기 프로세스부터 진행#2일차 계산기 프로세스 부분 진행 # gui 가상환경에서 진행함 .\Scripts\activatefrom tkinter import Tk, Button, Entry, ENDwin = Tk()opers = []nums = []numStr = ''def calc(target):    ch = target['text']    global opers, nums, numStr    if len(ch) == 1:        if ch != 'C' and ch != '%' and ch != 'v':            txt.insert(END, ch)        if ord(ch) >= 48 and ord(ch) 57:            numStr += ch        if ch..
#파이썬 기초 14일차 파이썬 GUIGUI (Graphical User Interface)사용자가 그래픽을 통해 컴퓨터와 정보를 교환하는 작업 환경 발달최초의 GUI는 1958년 북미항공우주방위사령부의 SAGE시스템민간 최초의 GUI는 1963년 MIT의 아이번 서덜랜드 교수의 스케치 패드최초의 GUI 운영체제는 1973년 제록스 앨토 컴퓨터 주로 마우스를 사용해서 입력을 처리함 CUI(Character User Interface)command line(명령줄)을 이용하여 컴퓨터와 정보를 교환하는 작업 환경CLI(command line interface) 또는 TUI(Text User Interface)라고도 부름Terminal, Unix/Linux 의 서버환경 등을 제외하면 이제는 찾아보기 어려움 GUI 를 개발하기 어려운 ..
같이 푸는 파이썬[기초] - 리스트와 딕셔너리 활용 및 반복문 파이썬 리스트와 딕셔너리 활용 및 반복문리스트 (List)리스트는 순서가 있는 변경 가능한 데이터 집합입니다. 다양한 데이터를 담을 수 있으며, 여러 가지 방법으로 조작할 수 있다.  리스트 조작 orders = []# 리스트에 요소 추가orders.append(" 추가할 내용 ")orders.insert(1, " 추가할 내용 ") # 1은 인덱스 위치# 리스트에서 요소 삭제del orders[0]         # 인덱스를 사용하여 첫 번째 요소 삭제orders.remove(" 삭제할 내용 ")  # 값으로 요소 삭제  리스트의 길이 구하기 name = "안녕하세요 춘식이 입니다."print(len(name))  # 문자열의 길이를 구함 (띄어쓰기도 포함)  리스트의 합과 평균 구하기print(sum(..
#파이썬 기초 10일차_1 numpy 이어서 진행arr3d = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])arr3darray([[[ 1,  2,  3],         [ 4,  5,  6]],        [[ 7,  8,  9],         [10, 11, 12]]])arr3d[0]array([[1, 2, 3],        [4, 5, 6]])arr3d[0][0]array([1, 2, 3])arr3d[0][0][1]2 별다른 설정을 하지 않는이상 원소대 원소로 적용된다.스칼라를 넣으면 각 원소대로 동일하게 적용된다. old_values = arr3d[0].copy()arr3d[0] = 42arr3darray([[[42, 42, 42],         [42..
#파이썬 기초 9일차_2 Numpy (Numerical Python)1. Numpy 개요1-1. Numpy란?NumPy(Numerical Python)는 고성능의 과학 계산과 데이터 분석을 위한 기본 패키지입니다. 주로 행렬이나 대규모의 다차원 배열을 쉽게 처리할 수 있게 해주며, 계산 과학(Computational Science) 분야의 복잡한 연산을 지원한다. 또한, SciPy, Matplotlib, Pandas 등과 같은 라이브러리에서 채택되어 더 복잡한 연산을 쉽게 처리할 수 있도록 돕고있다.1-2. NumPy에서 제공하는 기능ndarray: 빠르고 메모리를 효율적으로 사용하며, 벡터 산술 연산과 세련된 브로드캐스팅 기능을 제공하는 다차원 배열을 지원표준 수학 함수: 반복문 없이 전체 데이터 배열에 대해 빠른 연산을 제공..
#파이썬 기초 8일차_2 4. 메서드 확인하기4.1 메소드(Method) 이해하기4.1.1 인스턴스 메서드(instance method) 확인 인스턴스 메소드 정의하기인스턴스의 메소드가 자동으로 self를 통해서 정의되는것을 인스턴스 메소드라고함클래스 내부에서 self를 첫 번째 매개변수로 받아들이며, 이를 통해 해당 메소드가 호출된 인스턴스 자신을 참조할 수 있다class Klass_ins :    def set(self,name,value) :        setattr(self,name,value)ki = Klass_ins()print(ki)print(isinstance(ki, Klass_ins)) Trueki.set("name","춘식이")ki.set("age",5)print(ki.__dict__){'name': '춘식이..
#파이썬 기초 8일차_1 1.2 객체의 특징object 클래스로 객체의 레퍼런스 확인하기 (인스턴스 객체를 만들어서 사용)a = object()b = object()print(a == b)print(a is b)print(id(a), id(b))FalseFalse133982244159440 133982244159424 t와 ts는 같은 변수인것을 알 수 있다.t = (1,2,3)ts = tuple(t)print(t == ts)print(t is ts)print(id(t), id(ts))True True 133982029611968 133982029611968int 클래스에 대한 책임성 확인하기대부분의 종속성은 앞에 것이 주최가 되서 나머지가 종속된다.a = int(10)b = int(5) print(a+b) # 우리 눈으로는 a..
#파이썬 기초 7일차_2 클래스(Class)1. 클래스(Class) 정의클래스(Class)클래스는 객체 지향 프로그래밍에서 특정 객체를 생성하기 위한 변수와 메서드를 정의하는 일종의 틀입니다. 클래스는 객체의 설계도이며, 객체의 상태를 나타내는 멤버 변수와 객체의 동작을 나타내는 메서드(함수)로 구성됩니다.기본 용어클래스 객체(Class Object)클래스 정의문에 의해 지정된 문장들을 포함합니다.인스턴스 객체를 생성하는 틀의 역할을 합니다.클래스 내의 모든 메서드에 대한 정의와 정보를 보유합니다.인스턴스에서 메서드를 호출할 때, 클래스의 메서드와 바인딩되어 처리됩니다.인스턴스 객체(Instance Object)클래스 객체에 의해 생성된 실제 객체를 말합니다.클래스의 __init__ 메서드 내부에서 지정된 속성을 가지며, 메서드..
#파이썬 기초 7일차_1 6일차에 람다 함수부터  이어서 진행1. 람다 함수(Lambda Function)런타임에 생성해서 사용할 수 있는 익명 함수필요성상황에 따라 직접 정의해서 바로 사용하는 것이 필요할 때가 있음1회성으로 한 번 쓰고 버리는 용도로 많이 사용함변수에다 할당해서 하는 것이므로 메모리에 할당해 처리하는 다른 함수와 호출, 실행 시점이 조금 다르고 나머지는 거희 비슷하다.사용 방식함수 정의문이 없으므로 lambda라는 키워드를 사용함하나의 라인에 정의할 수 있음콜론(:)을 경계로 앞에는 매개변수를 정의하고 뒤에는 표현식을 정의함표현식 대신 문장으로 표현하면 예외가 발생하므로(람다는 한줄로 처리하게 만들어진 것이기 때문) 반환값을 처리하는 return문이 필요없고 표현식을 실행한 결과가 자동으로 반환됨함수를 정의문..
#파이썬 기초 5일차_2 Mapping & Set Data Type데이터를 효율적으로 관리하고 처리하기 위해 다양한 자료형이 사용된다. 그 중에서도 Mapping 자료형과 Set 자료형은 중요한 역할을 한다.Mapping & Set 자료형 개요Mapping 및 Set 자료형은 여러 개의 원소를 관리하고 처리할 수 있는 Collection 형태의 자료형으로, 이들은 데이터를 검색할 때 Index가 아닌 Key를 사용하여 접근하고 읽어 처리한다.Key로 데이터를 검색하고 읽기 위해서는 Key의 유일성을 유지해야 하며, 이를 위해 Hash 알고리즘을 사용하여 유일한 값을 구성한다.Mapping Data Type (매핑 자료형)매핑 자료형은 Key와 Value(값)를 쌍으로 관리하는 자료형으로, 이러한 구조 덕분에 특정 Key에 해당하..
#파이썬 기초 5일차_1 1. 바이트 자료형(bytes data type)파이썬 3 버전에 새로 추가된 자료형으로 컴퓨터가 기본으로 처리하는 바이트 자료형이다.저장되는 형태가 16진수의 Hexa 값으로 관리되고, ASCII 코드인 경우에는 Hexa 값 대신 문자로 보여 준다.바이트 자료형도 파이썬의 기본 문자열 자료형인 Unicode와 동일한 메서드를 가지고 처리되어진다.문자열 자료형처럼 변경이 불가능한 구조를 따르고 있다.1.1 바이트 생성바이트 자료형의 생성은 리터널 형태로 b를 문자열 앞에 붙여서 표시한다.bytes 생성자를 기반으로 인스턴스도 만들 수 있다.a = 'hello'print(type(a))a = b'hello'print(type(a)) 한글의 경우 2바이트 처리됨으로 b를 붙여서 바이트 형태로 바로 할 수는 ..

728x90