본문 바로가기
728x90
반응형
SMALL

Programming/Python65

15. GUI툴킷 Tkinter Tkinter tkinter module은 Tcl / Tk 툴킷을 python에서 사용하기 위한 인터페이스 module이다. Tcl은 python과 같은 script 언어이고 Tk는 Tcl을 위한 GUI 툴 킷이다. from tkinter import * root = Tk() label = Label(root, text='Hello World') label.pack() root.mainloop() - Label(root, text='Hello World') : Label 클래스의 첫번째 인수로 root를 사용했는데, 이것의 의미는 root창에 포함되는 콤포넌트로 생성하겠다는 의미이다. - label.pack() : label 객체를 창에 표시하는 역할을 한다. - root.mainloop() : root.. 2021. 12. 15.
14. 데이터베이스 (Database) 데이터베이스 (Database) 기존의 파일시스템에서는 중복된 정보를 효율적으로 처리하는 것이 관점 연구 분야였다. 이 중복을 피하여 정보를 일원화하여 처리를 효율적으로 수행하기 위해서 서로 관련성을 가지며 중복이 없는 데이터의 집합을 유지하는 것을 데이터베이스 (database)라고 한다. SQLite SQLite는 데이터베이스 관리 시스템 (DBMS; Database Management System)이다. DBMS는 여러 사용자 또는 응용 프로그램이 데이터를 저장하거나 조회할 수 있게 도와주는 시스템 또는 소프트웨어이다. 대표적인 DBMS로는 MySQL, PostgreSQL, Oracle, MS-SQL 등이 있다. SQLite는 Oracle이나 PostgreSQL과 같은 큰 규모의 DBMS와 달리 서.. 2021. 12. 15.
13. 네트워크 네트워크 프로그래밍 두 컴퓨터간의 데이터를 주고 받을 수 있도록 프로그래밍을 하는 것을 네트워크 프로그래밍이라 한다. 인터넷 망을 통한 디바이스와 컴퓨터간의 데이터를 주고 받는 것도 역시 네트워크 프로그래밍이라 한다. 두 컴퓨터간에 데이터를 주고 받을려면 물리적 연결이 필요한데 이러한 연결을 도울수 있는 것을 소켓 (socket)이라 한다. 컴퓨터가 서로 연결이 되면 데이터를 주고 받을 수 있다. 여기서 Server는 연결을 대기하는 컴퓨터이며 Client는 연결을 시도하는 컴퓨터를 뜻 한다. Server는 여러 Client를 연결 받아서 관리 할 수도 있다. 모든 데이터 송수신 작업이 끝나면 소켓을 닫으면 두개의 컴퓨터 연결을 사라진다. 소켓 (socket) # server.py 작성 from sock.. 2021. 12. 15.
12. XML (Extensible Markup Language) XML (Extensible Markup Language) 인터넷 웹페이지를 만드는 HTML을 획기적으로 개선하여 만든 언어이다. 홈페이지 구축기능, 검색기능 등이 향상되었고, 웹 페이지의 추가와 작성이 편리해졌다. XML 만들기 from xml.etree.ElementTree import Element, dump node1 = Element("first") node1.text = "안녕" dump(node1) #결과 안녕 root.append(node1) # 노드에 노드 추가하기 node2 = Element("second") node2.text = "Hello" root.append(node2) dump(root) #결과 안녕Hello dump(root) # 속성 추가하기 #결과 안녕Hello XML .. 2021. 12. 15.
11. 파일 입출력 파일 생성하기 소스 코드를 에디터로 작성해서 저장한 후 실행하면 프로그램을 실행한 디렉터리에 새로운 파일이 하나 생성된다. # 파일 객체 = open(파일 이름, 파일 열기 모드) f = open("새파일.txt", 'w') f.close() 파일을 생성하기 위해 python 내장 함수 open을 사용한다. open 함수는 다음과 같이 "파일 이름"과 "파일 열기 모드"를 입력값으로 받고 결과값으로 파일 객체를 돌려준다. 파일을 쓰기 모드로 열면 해당 파일이 이미 존재할 경우 원래 있던 내용이 모두 사라지고, 해당 파일이 존재하지 않으면 새로운 파일이 생성된다. 디렉터리에 파일이 없는 상태에서 새파일.txt를 쓰기 모드인 'w'로 열었기 때문에 새파일.txt라는 이름의 새로운 파일이 현재 디렉터리에 생성.. 2021. 12. 15.
10. 예외처리 예외처리 프로그램을 만들다 보면 수없이 많은 오류를 만나게 된다. 이를 위해 python은 try, except를 사용해서 예외적으로 오류를 처리할 수 있게 해준다. 오류 예외 처리 기법 1. try, except만 쓰는 방법 try: ... except [발생 오류[as 오류 메시지 변수]]: ... 2. 발생 오류만 포함한 except문 try: ... except 발생 오류: ... 3. 발생 오류와 오류 메시지 변수까지 포함한 except문 try: ... except 발생 오류 as 오류 메시지 변수: ... try: # 1을 0으로 나누려고 하면 ZeroDivisionError가 발생 1 / 0 except ZeroDivisionError as e: print(e) try .. finally .. 2021. 12. 15.
09. 모듈 (Module) 모듈 (Module) 코드를 담고 있는 파일 함수, 클래스, 전역 변수 등과 함께 다른 object들의 그룹을 정의 폴더로 묶여 있다면 패키지를 구현해서 사용 연관성이 있는 모듈만을 로드하여 프로그램 시작 시간 단축 손쉽게 사용 가능, 별도의 네임스페이스를 가져 독립적인 작업 가능 module 만들기 def add(a, b): return a + b def sub(a, b): return a - b module 불러오기 from mod import * # mod.py에 있는 모든 함수 불러오기 * add(3, 4) --> 7 # mod.py 파일과 main.py 파일은 반드시 같은 폴더에 있어야 한다. if __name__ == "__main__" 조건문을 넣어주고 그 아래는 직접 실행시켰을 때만 실행되.. 2021. 12. 8.
08. 클래스 상속 (Class inheritance) 클래스 상속 (Class inheritance) class에서 상속이란, 물려주는 class (parent Class, super class)의 내용 (속성과 method)을 물려받는 class (child class, sub class)가 가지게 되는 것입니다. 기존의 클래스에서 확장하여 새로운 클래스 정의 super() : 선조의 변수나 메소드를 가리킬 때 오버라이딩 : 메소드 재정의, 메소드의 기능을 변경, 선조클래스에 존재해야함, 메소드명 같아야함, 파라미터 개수 같아야함, 리턴형이 같지 않아도 됨 다형성 : 오버라이딩, 오버로딩, 프로그램 안의 관계 서브 클래싱 : 선조 속성 구조 그대로, 코드 재사용 서브타이핑 : 상속과 선조 클래스가 수행할 명령을 선언, 클래스 타입으로 대체 추상 클래스 :.. 2021. 12. 8.
07. 클래스 (Class) Class 클래스는 사용자 정의 데이터형, 개념과 속성과 기능 모델링 (변수 + 메소드; 동작을 수행하는 함수) class는 객체의 구조와 행동을 정의한다. 클래스 멤버들은 퍼블릭임 동적 바인딩 Self 키워드로 선언 객체의 class는 초기화를 통해 제어한다. class는 복잡한 문제를 다루기 쉽도록 만든다. 객체 고유 속성, class에서 정의한 행위 수행, 메모리 경제적 사용, class 타입, 객체가 메모리에 할당되어 사용될 때를 인스턴스라 함 (속성 + 행위) 인스턴스 class 객체, 컴퓨터 프로세스, 물리적인 장소 위치시킨다. `self.속성'에 할당 했던 변수들은 모두 인스턴스 속성에 해당한다. class 선언 자료형 선언 —> 객체 생성 —> 멤버 호출 클래스 내장함수 생성자 : 초기값 .. 2021. 12. 8.
06. 함수 (Function) 함수 (Function) 여러 개의 실행문을 하나로 묶은 모듈이다. 프로그래밍 분야의 함수도 수학 분야의 함수와 같다. 입력값을 넣었을 때 원하는 출력값을 만들어주는 함수를 python 문법을 이용해 구현한다. 프로그래밍 분야에서도 함수 내부의 구현은 블랙박스와 같아서 함수를 사용하는 입장에서는 이를 알 필요가 없다. 단순히 함수에 입력값을 넣으면 우리가 원하는 출력값을 얻을 수 있다는 점을 아는 것이 중요하다. def 함수명(매개변수): ... 매개변수와 인수 매개변수 (parameter)는 함수에 입력으로 전달된 값을 받는 변수를 의미하고 인수 (arguments)는 함수를 호출할 때 전달하는 입력값을 의미한다. def add(a, b): # a, b는 매개변수 return a + b print(ad.. 2021. 12. 8.
728x90
반응형
LIST