Python 3.10이 업데이트되면서 변화되거나 추가된 사항들이 있다. 공식문서: https://www.python.org/downloads/release/python-3100/ match / case 패턴 매칭은 C 언어에서 제공하는 switch/case 문과 유사하다. 하지만 패턴이 일치하면 해당 구문을 실행한 후, break 없이도 match문을 빠져나간다. a = 50 match a: case 50: print("50") case 100: print("100") case _: print("Nothing") # Output: 50 마지막 case _ 는 일치하는 값이 없을 때, 실행하는 구문이다. 만약 case _ 를 선언하지 않으면 아무 실행 없이 match 문을 종료한다. num = 1, 2 m..
C 언어의 문자열은 char의 배열로 이루어진다. 그리고 배열의 끝은 '\0'(NUL)로 끝난다. "DeneV" {'D', 'e', 'n', 'e', 'V', '\0'} "DeneV"라는 문자열은 "DeneV\0"로 구성되어 있기 때문에 6 Byte의 크기를 가진다. 선언 char str[] = {'D', 'e', 'n', 'e', 'V', '\0'}; char str[] = "DeneV"; char str[5] = "DeneV"; // 주의 char str[5] = "abc"; // {'a', 'b', 'c', '\0', '\0'} 배열과 같은 방식으로 선언하거나 " "(큰 따옴표)를 활용해 선언할 수 있다. 선언된 문자열보다 배열의 크기가 클 경우, 빈 공간은 '\0'로 선언된다. 입출력 char s..
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)을 가진다고 표현한다. 그런데 ..