html tool

2022年11月10日星期四

Queue模块

 转:https://blog.csdn.net/zy205817/article/details/51388479

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)


没有评论:

发表评论