프로그래밍/파이썬 기초
-
파이썬 with as문을 통한 자동 open/colse프로그래밍/파이썬 기초 2022. 10. 31. 10:53
1. with as문이란? 파이썬 코딩을 하다보면 생성한 객체를 다 사용하였으면 종료해주어야하는 경우들이 있다. 대표적인예로 file이 있으며 AI분야에서는 Tensorflow.GradientTape이 있다. 그러나 코드를 작성하다보면 일일히 해당 객체들을 종료해주는 것은 귀찮기도 하며 종종 잊기도 한다. 따라서 파이썬에서는 with as라는 문법을 제공하여 해당 구문이 끝나면 자동으로 종료해주는 기능을 제공하고 있다. 2. 활용 2.1 file open/close 기존의 file open/close 방식 # 파일을 쓰기 모드로 생성 f = open("0_test.txt","w") # 파일에 문장 삽입 f.write('hello') f.write('world') # 파일 객체 종료 f.close() wi..
-
[Python] 우선순위큐 사용하기 - heapque, headq프로그래밍/파이썬 기초 2022. 9. 16. 15:09
1. heapq import 해당 포스팅에서는 우선순위큐를 사용하기 위해서 heapq 라이브러리를 활용한다. import heapq 2. 우선순위큐 사용하기 우선순위큐에서는 낮은 숫자일수록 높은 우선순위를 가진다. 구현 내용은 아래와 같다. # 사용할 리스트 선언 (que와는 달리 리스트를 활용한다) heap_que = [1,5,9] print(heap_que) #=> [1, 5, 9] # 리스트와 넣을 item을 매개변수로 넘겨서 삽입한다 # 순서 자체는 정렬되지 않는다 heapq.heappush(heap_que,7) print(heap_que) #=> [1, 5, 9, 7] # 가장 우선순위인 item을 pop한다 (낮은 숫자가 우선순위가 높다) print(heapq.heappop(heap_que))..
-
[Python] 큐(Que) 사용하기 - deque프로그래밍/파이썬 기초 2022. 9. 16. 09:07
1. 라이브러리 Import que는 collections에서 제공하는 deque를 통해 사용할 수 있다. from collections import deque 2. 코드 예시 # 큐 생성 que = deque([]) print(que) #==> deque([]) # 값 추가 que.append(1) print(que) #==> deque([1]) que.append(3) print(que) #==> deque([1, 3]) que.append(3) print(que) #==> deque([1, 3, 3]) # 좌측에 값 추가 que.appendleft(9) print(que) #==> deque([9, 1, 3, 3]) # 특정 값의 개수 반환 print(que.count(1)) #==> 1 # 큐 복..
-
Python 파일 읽어오기 인코딩 정리프로그래밍/파이썬 기초 2021. 10. 6. 14:13
인코딩이란? 파이썬(코딩)에서 인코딩이란 문자를 컴퓨터가 이해할 수 있는 기계어로 변환하는 작업을 뜻한다. 인코딩 종류 인코딩의 종류는 다양하게 존재하지만, 현실적으로 우리가 주로 마주하게 되는 인코딩은 다음과 같다. 1. UTF-8 : 유니코드 문자 인코딩 방식 중 하나. 가장 널리 사용되는 인코딩. 2. UTF-16 : 유니코드 문자 인코딩 방식 중 하나. 기본 문자는 16비트, 그 이상의 문자는 32비트로 인코딩 됨. 3. EUC-KR : 한글 완성형 인코딩. 8비트 문자 인코딩. 4. CP949(MSWIN949) : EUC-KR의 확장 버전으로 하위 호환성을 가진다. 인코딩이 필요할 때 파일(txt, csv 등등)을 읽어올 때 아래와 같은 에러 메시지를 받을 때가 있다. UnicodeDecodeE..
-
[파이썬/Python]컴프리헨션(Comprehension)프로그래밍/파이썬 기초 2021. 2. 22. 21:36
파이썬은 컴프리헨션이라는 문법을 통해 list, dictionary 등의 작성을 간단화 할 수 있다. 1. 리스트 생성 1 2 3 4 5 6 # 일반 방법 nums = [] for i in range(10): nums.append(i) # 컴프리헨션을 통한 방법 nums = [i for i in range(10)] cs 2. 조건문 추가( if ) 1 2 3 4 5 6 7 8 # 일반 방법 nums = [] for i in range(1,11): if n % 2 == 0: nums.append(i) # 컴프리헨션 방법 nums = [i for i in range(1,11) if i % 2 == 0] cs 3. 조건문 추가( if & else ) 1 2 3 4 5 6 7 8 9 10 # 일반 방법 nums..