模块之queue的功能介绍
队列的分类:
队列主要要分为两种
1.双向队列
2.单项队列
1. 单项队列
-
创建单项队列
格式:queue.Queue(obj) 例如:que = queue.Queue('abc') 返回值:queue.Queue #创建单项队列时的参数可以是任意对象,无论传入的参数是什么,该队列始终是空的。
-
empty(判断队列是否是空的)
格式:queue.Queue(obj).empty() 例如:que = queue.Queue('abc') print(que.empty()) >>> True 返回值:bool #通过直接创建的单项队列,永远都是空的。
-
full(判断队列是否满了)
格式:queue.Queue(obj).full() 例如:que = queue.Queue('abc') print(que.full()) >>> False 返回值:bool #判断队列是否满了,与maxsize相对应。
-
get(获取队列中的一个项)
格式:queue.Queue(obj).get(block=True,timeout=None) 例如:que = queue.Queue() que.put('abc') print(que.get()) >>> 'abc' 返回值:obj #取出队列中的一个项,由于单项队列只能先进先出,当队列中的项不止一个时,则直接获取第一个被放入队列中的项。
-
get_nowait(获取队列的一个项)
格式:queue.Queue(obj).get_nowait() #方法同上
-
join
-
put(上传一个项)
格式:queue.Queue(obj).put(item,block=True,timeout=None) 例如:que = queue.Queue() print(que.put('abc')) >>> None 返回值:None #向队列里面放一个项,一次只能放一个项。
-
put_nowait(上传一个项)
格式:queue.Queue(obj).put_nowait() #方法同上
-
qsize(队列长度)
格式:queue.Queue(obj).qsize() 例如:que = queue.Queue() print(que.qsize()) >>> 0 返回值:int #返回队列的长度
- task_done
2. 双向队列
创建方法:
格式:queue.deque(iterable[,maxlen])
返回值:collections.deque
注:queue模块中的queue.deque与collections模块中的collections.deque的功能是一样的,因此这里不作详细介绍。