IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> [python3] queue 队列 模块 -> 正文阅读

[Python知识库][python3] queue 队列 模块

前言

python3中的queue模块中的Queue类实现了FIFO(先进先出)队列结构。

索引

一、初始化
二、插入 弹出元素
三、队列大小
四、其他(不常用)
??1. 插入弹出(简化版)
??2. 队列任务跟踪


Queue方法

一、初始化

  • queue.Queue(maxsize=0)
    初始化一个Queue对象
    maxsize指定队列长度,默认为0。但值小于等于0时,表示队列大小无上限。

代码示例

import queue
q1 = queue.Queue()  # 初始化一个空队列,队列大小无上限
q2 = queue.Queue(5)  # 初始化一个空队列,队列大小上限为5

二、插入 弹出元素

  • Queue.put(item, block=True, timeout=None):插入元素
  • Queue.get(block=True, timeout=None):获取并弹出元素
    item为想要插入队列的一个元素。

后两个参数指定put/get在队列为满/空时的操作。(一般保持默认即可
timeout为阻塞时间(即异常情况出现后的等待时间),单位为
block为一个布尔值,指定在情况发生时是否进行阻塞(如果不进行阻塞或阻塞时间超过了timeout,那么将会引发FullEmpty异常)

代码示例

import queue
q = queue.Queue()
q.put(12)
q.put(31)
q.put(87)
for i in range(1,4):
    print("第"+str(i)+"次弹出的元素为:",q.get())

输出

第1次弹出的元素为: 12
第2次弹出的元素为: 31
第3次弹出的元素为: 87

三、队列大小

  • Queue.qsize():返回队列长度
  • Queue.empty():返回布尔值,表示队列是否为空
  • Queue.full():返回布尔值,表示队列是否已满

代码示例

import queue
q = queue.Queue()
q.put(12)
q.put(31)
q.put(87)
print("当前队列长度:",q.qsize())
print("队列是否为空:",q.empty())
print("队列是否已满:",q.full())

输出

当前队列长度: 3
队列是否为空: False
队列是否已满: False

四、其他(不常用)

1. 插入弹出(简化版)

  • Queue.put_nowait(item):相当于Queue.put(item,False)
  • Queue.get_nowait():相当于Queue.get(False)

2. 队列任务跟踪

  • Queue.task_done():表示前面排队的任务已经被完成。
  • Queue.join():阻塞至队列中所有的元素都被接收和处理完毕。
    这两个方法不常用,具体使用请参考→官方文档

参考资料

官方文档queue
python3学习-Queue模块


原创不易,感谢您的支持。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 23:06:26  更:2021-08-10 23:06:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 13:46:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码