本文主要向大家介绍了Python语言中的Queue,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

什么是队列?

队列就像是水管子,先进先出,与之相对应的是栈,后进先出。

队列是线程安全的,队列自身有机制可以实现:在同一时刻只有一个线程在对队列进行操作。

存数据,取数据

1 import Queue2 3 q = Queue.Queue() #调用队列生成对象4 q.put(1)  #存放第一个值到队列5 q.put(2)  #存放第二个值到队列6 7 8 print 'get frist one:',q.get() #获取队列的第一个值9 print 'get second on:',q.get() #获取队列的第二个值

如果队列中的数据被取完了怎么办呢?

会阻塞

q = Queue.Queue() #调用队列生成对象

q.put(1)  #存放第一个值到队列

q.put(2)  #存放第二个值到队列

a = q.get() #获取队列的第一个值print 'get frist one:%s' % a

b = q.get() #获取队列的第二个值print 'get second one:%s' % b

c = q.get()#获取队列的第三个值print 'get third one:%s' % c

#结果:'''

get frist one:1

get second one:2

#这里是阻塞状态,一直在等待着值进来~'''

取不到值的时候如何能让它不阻塞?

get_nowait()方法取

复制代码

q = Queue.Queue() #调用队列生成对象

q.put(1)  #存放第一个值到队列

q.put(2)  #存放第二个值到队列

a = q.get() #获取队列的第一个值print 'get frist one:%s' % a

b = q.get() #获取队列的第二个值print 'get second one:%s' % b

c = q.get_nowait()#获取队列的第三个值 ,使用:get_nowait()print 'get third one:%s' % c

不阻塞的时候,取不到又会报错,怎么办?

异常处理

q = Queue.Queue() #调用队列生成对象try:

q.get_nowait()except Queue.Empty as f:

print 'The Queue is empty!'

队列的长度是可以规定的哦

那么问题来了,队列被存满了怎么办?----->会阻塞...

如何能不阻塞?---->put_nowait()----->无法存放会报错------>报错怎么办?------>异常处理。

q = Queue.Queue(2) #调用队列生成对象

q.put(1)  #存放第一个值到队列print 'put value 1 done'

q.put(2)  #存放第二个值到队列print 'put vlaue 2 done'

q.put(3) #存放第三个值到队列print 'put value 3 done'

#结果:'''

put value 1 done

put vlaue 2 done

#这里会阻塞,会一直等待~'''

以上就介绍了Python的相关知识,希望对Python有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言Python频道!

python queue get 方法_Python语言中的Queue(队列)相关推荐

  1. python中mod运算符_Python语言中mod指的是什么

    Python语言中mod指的是什么 发布时间:2020-07-17 11:21:21 来源:亿速云 阅读:255 作者:清晨 小编给大家分享一下Python语言中mod指的是什么,希望大家阅读完这篇文 ...

  2. python怎么用圆周率_Python语言中,如何使用圆周率?

    如何使用圆周率是什么意思?直接使用还是自己计算?使用的话,直接import math导入math包,使用math.pi就可以了. 如果你是要计算圆周率的话,需要知道算法,从github找个案例给你.地 ...

  3. python中0代表什么_python语言中,0.1**0.3表示什么_学小易找答案

    [单选题]以下代码段输出什么?原因是 print(100/3) print(89//28) [判断题]境外上市外资股采用记名形式. [多选题] 以下关于普通股股票的特征描述正确的是( ). [多选题 ...

  4. map python函数_Python语言中map函数

    本文主要向大家介绍了Python语言中map函数,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 1.对可迭代函数'iterable'中的每一个元素应用'function'方法,将 ...

  5. python语言strip的作用_Python语言中的strip()的理解

    本文主要向大家介绍了Python语言中的strip()的理解,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 在看到Python中strip的时候产生了疑问 strip() 用于移 ...

  6. python __reduce__魔法方法_Python魔法方法指南

    (译)Python魔法方法指南 简介 本指南归纳于我的几个月的博客,主题是 魔法方法 . 什么是魔法方法呢?它们在面向对象的Python的处处皆是.它们是一些可以让你对类添加"魔法" ...

  7. python contains魔法方法_python魔法方法

    Python 魔术方法指南 入门 构造和初始化 构造定制类用于比较的魔术方法 用于数值处理的魔术方法 表现你的类 控制属性访问 创建定制序列 反射 可以调用的对象 会话管理器 创建描述器对象 持久化对 ...

  8. python 计算机程序设计-计算机编程语言中,为何Python独得恩宠?

    原标题:计算机编程语言中,为何Python独得恩宠? 截止到2019年6月,根据Indeed网站的统计分析,美国Python开发人员的平均年薪为117,822美元. 相比Java从业者的年薪 $102 ...

  9. python的open方法_Python os.open() 方法

    Python os.open() 方法 概述 os.open() 方法用于打开一个文件,并且设置需要的打开选项,模式参数mode参数是可选的,默认为 0777. 语法 open()方法语法格式如下: ...

最新文章

  1. php执行mysql insert,当执行mysql insert 时插入两条是咋回事
  2. 【Linux】 任务调度/计划 cron
  3. 程序员看过来:阿里毕玄提升代码能力的4段经历
  4. 分享一些笔记本电脑日常保养技巧
  5. 来入门一下kotlin吧
  6. RotateDrawable
  7. C语言中的undefined behavior系列(2)-- lifetime of object
  8. 2021全网最全Activiti7教程04(Activiti7整合篇-欢迎收藏)
  9. matlab多行注释
  10. 当“双态IT”已成共识 如何打造以数据驱动的运维平台?
  11. android手机之-------64位操作系统 与 64位处理器
  12. 网络设备设置/取消console口登陆单独密码
  13. 让你心动的20句励志文案
  14. 自建内网穿透服务器替换TeamViewer和向日葵,实现远程控制。
  15. 电脑无法连接WiFi,一直显示无法连接此网络
  16. Mac软件:分享五款实用的Mac软件,值得收藏
  17. Camera和Image sensor技术基础笔记(1) -- 光和CCD/CMOS sensor基础知识
  18. 海赢科技分享速卖通账号开店注册认证介绍及常见问题解答
  19. 后端接口并行调用方案
  20. Delete数据如何恢复

热门文章

  1. java 集群会话管理_架构设计之Spring-Session分布式集群会话管理
  2. 2021-09-01
  3. 爬虫教程 python3_Python3网络爬虫(四): 登录
  4. SpringBoot使用AOP,PointCut表达式详解以及使用
  5. Windows环境下查看Java进程ID,找到java程序对应的进程pid
  6. 《Android Studio开发实战 从零基础到App上线》源码运行问题解答
  7. Android开发笔记(九十五)自定义Drawable
  8. HTML学习思维导图
  9. Python 变量赋值
  10. iOS UI-自动布局(Autoresizing)