黑马程序员技术交流社区

标题: 【上海校区】Python中的队列queue [打印本页]

作者: 人工智能    时间: 2019-4-3 11:01
标题: 【上海校区】Python中的队列queue
Python3中的queue队列,用来在生产者和消费者线程之间传递信息使用。

1、基本的FIFO队列原则,即先进先出(First in First Out),代码示例如下:
[Python] 纯文本查看 复制代码
import queue
# FIFO队列
q = queue.Queue()
for i in range(5):
    q.put(i)
while not q.empty():
    print(q.get())
# 输出如下
# 0
# 1
# 2
# 3
# 4

需要注意:在Python2中应该导入使用Queue,即:
[Python] 纯文本查看 复制代码
import Queue


2、LIFO队列,即后进先出(Last in First Out),与栈结构类似,代码示例如下:
[Python] 纯文本查看 复制代码
# LIFO队列
q = queue.LifoQueue()

for i in range(5):
    q.put(i)

while not q.empty():
    print(q.get())

# 输出如下:
# 4
# 3
# 2
# 1
# 0


3、下面看一下一些常用的方法

1)、empty方法
    看一下官方的注释信息:如果这个队列为空,则返回True,否则返回False(不可靠!),这个方法可能会被删除,请使用 qsize() == 0作为替代...

2)、put方法
    将一个项目添加到队列

3)、get方法
    从队列中删除并且返回一个项目

4)、qsize方法
    返回队列中剩余项目的个数








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2