python中的Queue


一、先說說Queue(隊列對象)

Queue是python中的標准庫,可以直接import 引用,之前學習的時候有聽過著名的“先吃先拉”與“后吃先吐”,其實就是這里說的隊列,隊列的構造的時候可以定義它的容量,別吃撐了,吃多了,就會報錯,構造的時候不寫或者寫個小於1的數則表示無限多

import Queue

q = Queue.Queue(10)

向隊列中放值(put)

q.put(‘yang’)

q.put(4)

q.put([‘yan’,’xing’])

在隊列中取值get()

默認的隊列是先進先出的

>>> q.get() 
'yang' 
>>> q.get() 

>>> q.get() 
['yan', 'xing'] 
>>>

 

當一個隊列為空的時候如果再用get取則會堵塞,所以取隊列的時候一般是用到

get_nowait()方法,這種方法在向一個空隊列取值的時候會拋一個Empty異常

所以更常用的方法是先判斷一個隊列是否為空,如果不為空則取值

隊列中常用的方法

Queue.qsize() 返回隊列的大小  
Queue.empty() 如果隊列為空,返回True,反之False  
Queue.full() 如果隊列滿了,返回True,反之False 
Queue.get([block[, timeout]]) 獲取隊列,timeout等待時間  
Queue.get_nowait() 相當Queue.get(False) 
非阻塞 Queue.put(item) 寫入隊列,timeout等待時間  
Queue.put_nowait(item) 相當Queue.put(item, False)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM