Source code: github GitHub - Denev6/tkinter-design: Python tkinter GUI Design Python tkinter GUI Design. Contribute to Denev6/tkinter-design development by creating an account on GitHub. github.com 순서로 제작되어 있으며, 상황에 따라 일부 내용이 생략되어 있습니다. 기본 정보 Contributors 코드: DeneV 아래 작성된 코드는 전체 프로젝트 중 일부를 편집하여 작성되었습니다. 프로젝트: Team Palette Licenses & Copyrights Code 코드는 수정 / 배포 / 사적 목적으로 사용할..
일반적으로 Pandas를 이용해 데이터를 정리하지만, openpyxl로 엑셀 데이터(.xlsx)를 다루는 방법도 있다. 이번 분석에 사용할 데이터는 공공데이터포털에서 다운로드 받을 수 있다. 파일이름을 "pohand_food.xlsx"로 변경하여 사용하였다. 엑셀 행 / 열 엑셀에서의 행은 1, 2, 3 ... 열은 A, B, C ... 와 같이 구성되어 있다. 그리고 "열+행"의 형태로 위치를 나타낸다. 행이 "3", 열이 "B"라면 "B3"과 같이 나타낸다. A B C D E 1 A1 B1 C1 D1 E1 2 A2 B2 C2 D2 E2 3 A3 B3 C3 D3 E3 4 A4 B4 C4 D4 E4 5 A5 B5 C5 D5 E5 실습 from openpyxl import load_workbook, Wor..
단위 테스트는 독립적인 작은 단위의 기능을 테스트하는 방식이다. 단위 테스트에 필요한 코드를 따로 작성해두는 것은 각각의 기능이 잘 작동하는지 확인할 수 있는 좋은 습관이다. 텍스트 픽스쳐(test fixture): 테스트 설정을 위한 코드 테스트 케이스(test case): 테스트의 기본 단위 테스트 스위트(test suite): 테스트 케이스의 집합 (unittest 모듈 참고) 테스트 러너(test runner): 테스트 스위트를 실행하는 객체 unittest unittest는 테스트에 필요한 기능을 제공한다. unittest.TestCase를 상속 받은 클래스 내부에 test로 시작하는 메서드를 생성하면 테스트를 진행 할 수 있다. 클래스에 기본으로 생성되어 있는 메소드는 아래와 같다. asser..
프로세스 프로세스(process): 각각의 프로그램이 메모리에 올라가 실행되는 과정. 멀티 프로세스 멀티 프로세스(mutil-process)는 여러 프로세스가 동시에 (빠르게 번갈아가며) 처리되는 과정이다. 예를 들어, 음악 재생 + 코드 에디터 + 브라우저를 실행했다면 3개의 프로세스가 동시에 동작하게 된다. 하지만 실제 컴퓨터는 프로세스를 동시에 작업하지 않는다. 아래 그림은 여러 개의 프로세스가 동작하는 과정을 시간에 따라 나타낸 것이다. 1번 프로세스와 2번 프로세스가 번갈아가며 실행된다. 이 과정이 매우 빠르게 실행되기 때문에 마치 동시에 두 작업이 진행되는 것처럼 보이는 것이다. 이 과정을 context switching이라 부르고, 동시성(concurrency)을 가진다고 표현한다. 그런데 ..
pymysql을 활용하면 python을 이용해 MySQL의 데이터베이스에 접근할 수 있다. > pip install pymysql DB 접근 import pymysql db = pymysql.connect( host="localhost", port=3306, user="root", passwd="1234", # 비밀번호 db="testdb", # DB 이름 charset="utf8", # 인코딩 방식 ) cursor = db.cursor() # cursor = db.cursor(pymysql.cursors.DictCursor) # Unbuffered: SSCursor, SSDictCursor connect 함수를 이용해 DB에 접근하려면, 위 내용을 인자로 전달해 주어야 한다. 로컬 DB일 경우, hos..
파이썬 프로그래밍에서 디자인 패턴(Design Pattern)은 객체지향을 설계하는 과정에서 발생하는 문제를 해결하기 위해 사용되는 패턴이다. 데코레이터 패턴 데코레이터(decorator) 패턴은 @를 사용해 함수나 메서드를 정의하는 방법이다. def decorator(func): def wrapper(*args, **kwargs): print("start") func(*args, **kwargs) # test(*args, **kwargs) print("end") return wrapper @decorator def test(): print("Test Decorator") test() >>> start >>> Test Decorator >>> end 위 예시의 경우, test라는 함수를 decorator..