💡 큐 설명 : [Python 자료구조] 큐 (Queue) :: 코딩 연구소 (tistory.com)
💡 큐 모듈 기능
클래스 | 내용 |
queue.Queue(maxsize) | 선입선출(FIFO First-In, First-Out)큐 객체를 생성 |
queue.LifoQueue(maxsize) | 일반적으로 스택(Stack)이라 불리는 후입선출(LIFO Last-In, First-Out)큐 객체를 생성 |
queue.PriorityQueue(maxsize) | 우선순위 큐 객체를 생성 입력되는 아이템의 형식은 (순위, 아이템)의 튜플로 입력되며, 우선순위는 숫자가 작을수록 높은 순위를 갖는다. |
메서드 | 내용 |
qsize() | 큐 객체에 입력된 아이템의 개수를 반환 |
put(item[, block[, timeout]]) | 큐 객체에 아이템을 입력한다. |
put_nowait(item) | 블로킹(blocking)없이 큐 객체에 아이템을 입력한다. 큐 객체가 꽉 차 있는 경우에는 queue.Full예외 발생 |
get([block[, timeout]]) | 생성된 큐 객체 특성에 맞추어, 아이템 1개를 반환 |
get_nowait() | 블로킹(blocking)없이 큐 객체에 들어있는 아이템을 반환 큐 객체에 아이템이 없는 경우에는 queue.Empty 예외 발생 |
아래의 예외는 큐객체의 크기와 관련하여 발생할수 있는 예외이다.
예외 | 내용 |
queue.Empty | 큐 객체에 아이템이 없는 경우 발생 |
queue.Full | 큐 객체에 아이템이 꽉 찬 경우에 발생 |
queue 모듈은 데이터 추가 시 put(), 삭제 시 get() 함수를 호출한다.
큐에 등록된 아이템 개수는 qsize() 를 호출하여 확인할 수 있다.
💡 코드 설명
import queue
queue = queue.Queue()
queue.put("queue")
queue.put(3)
queue_size = queue.qsize()
print ("queue_size : {}".format(queue_size))
put 을 이용하여 queue 에 데이터를 추가한다.
[ queue, 3 ] 라는 값을 추가했기 때문에 qsize 는 2가 된다.
import queue
queue = queue.Queue()
queue.put("queue")
queue.put(3)
queue_size = queue.qsize()
print ("queue_size : {}".format(queue_size))
queue_data = queue.get()
print (queue_list)
queue_data = queue.get()
print (queue_list)
queue get() 함수 호출 시 먼저 들어간 queue 를 꺼내고, 두번 째 get() 함수 호출 시 두 번째로 들어간 3 을 꺼낸다.
[Python 자료구조] 해시 법 + (체인 법) (0) | 2022.02.07 |
---|---|
[Python 자료구조] 모듈 활용한 큐 (LifoQueue, PriorityQueue) - 2 (0) | 2022.02.06 |
[Python 자료구조] 큐 (Queue) (0) | 2022.02.06 |
[Python 자료구조] 이진검색 코드 개선 (0) | 2022.02.06 |
[Python 자료구조] 스택 (Stack) (0) | 2022.02.06 |