파이썬 9

[Tech, Python] main method

파이썬의 스크립트 특성과 객체 지향 프로그래밍 모델 때문에 파이썬에서 "main" 메소드의 개념은 C나 C++의 main 함수와 완전히 다르다. C 또는 C++는 실행하기 위해 반드시 main 함수가 필요하지만 파이썬은 그렇지 않다. 그러나 스크립트를 독립 실행형 프로그램으로 실행할 때 시작점을 제공하고 스크립트를 다른 스크립트의 모듈로 가져올 때 실행해서는 안 되는 코드 부분을 구분하기 위해 C 또는 C++의 main 함수와 유사한 구조가 아래처럼 파이썬에서 자주 사용된다. def main(): # Your main code here print("Hello, world!") if __name__ == "__main__": main() def main() : 파이썬에서 main이라는 함수를 정의하는 부분..

[Python] SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

해결책 : 사용하는 플랫폼(Windows, Linux 등)에 따라 동작하지 않는 해결책도 있음에 유의 기존 일반 string을 raw string으로 변환 dataset_dir = r"C:\Users\miche\Documents\school\jaar2\MIK\2.6\vektis_agb_zorgverlener"​ \을 /으로 치환 dataset_dir = "C:/Users/DeePak/Desktop/myac.csv" \를 \\으로 치환 dataset_dir = "C:\\Users\\DeePak\\Desktop\\myac.csv" 원인 : '\' (백슬래시) 는 다음에 오는 문자에 따라 특수 문자로 인식을 할 수 있다. 예를 들어, 에러를 살펴보면 '\U'는 Unicode로 인식이 되기 때문에 기대한 경로의..

[Python] 링크드 리스트 구현 - 1 (Singly Linked List)

Singly Linked List 구현은 매우 간단하고, 자주 사용하게 되므로 알아두는 것이 좋다. # Singly Linked List class 정의 class Node: def __init__(self, val): self.val = val self.next = None # '0'이라는 데이터를 담은 head와 cursor 선언 cur = head = Node(0) # '1'이라는 데이터를 담은 새로운 Node 선언해 head의 다음으로 연결 new = Node(1) cur.next = new cur = new # head부터 출력하면 0, 1을 출력으로 확인 가능 test = head while test: print(test.val) test = test.next

[Python] set 함수(method, function)

set 역시 list를 비롯한 다른 collection과 마찬가지로 다루기 위한 함수들이 존재하고 대표적으로 사용되는 함수들은 아래와 같다. add(elem) : 요소 elem을 set에 추가 remove(elem) : 요소 elem을 set에서 제거하는데 존재하지 않을 수 KeyError 발생 discard(elem) : 요소 elem을 set에서 제거하지만 없어도 error는 발생하지 않음 pop() : 임의의 요소를 반화하면서 제거. set가 비어있다면 KeyError 발생 clear() : set의 모든 요소 제거 참고 - https://docs.python.org/3/library/stdtypes.html#set-types-set-frozenset

[Python] set (세트)

# set 선언 s = set() # list로 casting l = list(s) 파이썬 공식 사이트에 따른 set에 대한 설명은 아래와 같다. : set 객체는 해시 가능한 별개의 객체들의 정렬되지 않은 컬렉션(collection이다. 멤버십 확인, 배열에서 중복 제거, 교집합, 합칩합, 차집합, 대칭 합 같은 수학 연산 계산 등에 주로 사용된다. 다른 컬렉션과 마찬가지로 set는 x in set, len(set), for x in set를 지원한다. 정렬되지 않은 컬렉션이기에 set는 요소의 위치나 삽입 순서를 기록하지 않는다. 따라서 set는 index나 slice 또는 기타 순서에 대한 동작을 지원하지 않는다. 현재 기본 제공 set 유형에는 set와 frozenset 두 가지가 있다. set ..

[Python] Two-Dimensional Array(2차원 배열)

매번 파이썬 2차원 배열 선언이 헷갈린다. 2차원 배열 선언은 아래와 같고, Shallow Copy(얕은 복사)를 주의해야한다. 우선 Shallow Copy를 고려하지 않은 일반적인 2차원 배열은 아래와 같이 선언한다. Array = [[0 for column in range(9)] for row in range(9)] 혹은 아래와 같이 선언할 수 도 있다. Array = [[0] * 9] for row in range(9)] 다음은 Shallow Copy를 적용한 2차원 배열 선언이다. Array = [[0] * 9 * 9] 위와 같이 2차원 배열을 선언할 경우, [0] * 9라는 배열을 그대로 복사해 생성하는 것으로 Array[0][0]의 값을 변경할 경우 Array[1][0]부터 Array[8][0..

[Python] subscriptable: TypeError

파이썬 코드를 작성하던 중 아래와 같은 에러가 발생했다. : TypeError: 'int' object is not subscriptable 위 에러는 배열에 존재하지 하지 않는 구역에 접근하려고 할 때 발생하며, 예시는 아래와같다. arr = [1, 2, [3, 4]] print(arr[0][1]) 실행 결과: TypeError Traceback (most recent call last) in 1 arr = [1, 2, [3, 4]] ----> 2 print(arr[0][1]) TypeError: 'int' object is not subscriptable * subscript: 아래에 기입한, 아래와 적은 문자[숫자, 기호] 참고 - https://en.dict.naver.com/#/entry/enk..

[Python] for문(for loop)

파이썬의 for문은 C언어의 for문과 다르다. C언어에 익숙해 같은 방식으로 선언하니 결과가 다르게 나와 파이썬에서 for문의 원리를 찾아봤거 파이썬 위키에서 차이점을 알게 됐다. 파이썬 위키 설명 중 아래와 같은 문구가 있다. for loops are used when you have a block of code which you want to repeat a fixed number of times. 파이썬의 for문은 고정된 횟수만큼 반복된다. 다음 예시에서 C언어와 차이를 확연하게 확인할 수 있다. 1. C언어(C language) for(i=0; i

[Python] pass vs continue vs break

파이썬 알고리즘 문제를 풀던 중 이중 반복문을 탈출하는 방법을 구글링하다 error를 발생시켜 탈출하는 방법을 알게 됐고, 예시에서 pass를 알게 됐다. 다음은 해당 예시다. class LoopBreak(Exception): pass try: for i in range(5): for j in range(5): if i == 1 and j == 1: raise LoopBreak() except LoopBreak: pass W3Schools에 따르면 pass의 정의는 다음과 같다. pass : The pass statement is used as a placeholder for future code. When the pass statement is executed, nothing happens, but y..