Python/Study

python 기초 - queue

pybi 2023. 1. 16. 22:45

이번에는 파이썬의 queue에 대해서 알아보고자 한다. Queue 모듈을 import하면 사용할 수 있다.

 

put은 que에 값을 저장하고, get은 해당 que에서 저장된 값을 하나씩 빼온다고 보면 된다. 아래처럼 1을 que에 넣고 1을 빼서 print하면 1이 출력된다.

from queue import Queue

que = Queue()

que.put(1)
print(que.get())
1

 

 

이번에는 que가 쌓인다는것을 보기 위해 1~10까지의 값을 que에 먼저 집어넣고 0.2초마다 한번씩 que에 든 값을 빼서 출력해보자.

from queue import Queue
import time

que = Queue()

def queue_put_test():
    for i in range(1,11):
        que.put(i)
        print(f"que put : {i}")
    
    
def queue_get_test():
    for i in range(1,11):
        print(que.get())
        time.sleep(0.2)
    
queue_put_test()
queue_get_test()

 

먼저 1~10까지 que가 쌓인 것을 확인할 수 있고, que.get()을 통해 0.2초 마다 que의 값을 가져와서 출력하는 것을 확인할 수 있다.

que put : 1
que put : 2
que put : 3
que put : 4
que put : 5
que put : 6
que put : 7
que put : 8
que put : 9
que put : 10
1
2
3
4
5
6
7
8
9
10

 

 

그런데 이게 진짜 que가 쌓인걸까? 이번에는 que에 랜덤한 값을 집어넣어 보고 그 값을을 다시 빼면서 확인해보자.

from queue import Queue
import time
from random import *

que = Queue()

def queue_put_test():
    for i in range(1,11):
        k = randint(1,100)
        que.put(k)
        print(f"que put : {i} -> {k}")
    
    
def queue_get_test():
    for i in range(1,11):
        print(que.get())
        time.sleep(0.2)
    
queue_put_test()
queue_get_test()
que put : 1 -> 4 
que put : 2 -> 43
que put : 3 -> 78
que put : 4 -> 20
que put : 5 -> 54
que put : 6 -> 97
que put : 7 -> 33
que put : 8 -> 77
que put : 9 -> 59
que put : 10 -> 65
4
43
78
20
54
97
33
77
59
65

 

집어 넣은 값들을 그대로 뺴온다는 것을 조금 더 확실하게 확인할 수 있었다.