이번에는 파이썬의 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
집어 넣은 값들을 그대로 뺴온다는 것을 조금 더 확실하게 확인할 수 있었다.
'Python > Study' 카테고리의 다른 글
python 기초 - multiprocessing (0) | 2023.01.16 |
---|---|
python 기초 - Thread (쓰레드) - daemon, join, 객체 등 (0) | 2023.01.16 |
python 기초 - decorator (0) | 2023.01.15 |
python 기초 - 변수가 있는지 확인하기 (hasattr / getattr / setattr) (0) | 2023.01.15 |
python 기초 - 지역변수, 전역변수, 동적변수 (local, global, globals 등) (0) | 2023.01.15 |