python-迭代器与生成器2
python-迭代器与生成器2
def fib(max):
n,a,b=0,0,1
while n<max:
#print(b)
yield b
a,b=b,a+b #t=(b,a+b) 是一个tuple
n=n+1
return "----done______"
#print(fib(10))
f=fib(10)
print(f.__next__())
print(f.__next__())
print("=======开始 ")
for i in f:
print(i)
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__())
print(f.__next__()) #异常查询:
g=fib(10)
while True:
try:
x=next(g)
print("g:",x)
except StopIteration as e:
print("Generator return vlue:",e.value)
break
#协程单线程下面简单的单线成
import time
def consumer(name):
print("%s 准备渴酒" %name)
while True:
drink = yield
print("酒[%s]来了,[%s]快渴完了!" %(drink,name))
c=consumer("kezi")
c.__next__()
b1="白酒"
c.send(b1)
c.__next__()
def producer(name):
c = consumer('A')
c2 = consumer('B')
c.__next__()
c2.__next__()
print("我开始准备卖酒啦!")
for i in range(10):
time.sleep(1)
print("做了2瓶葡萄酒!")
c.send(i)
c2.send(i)
producer("葡萄酒")
打印结果
kezi 准备渴酒
酒[白酒]来了,[kezi]快渴完了!
酒[None]来了,[kezi]快渴完了!
A 准备渴酒
B 准备渴酒
我开始准备卖酒啦!
做了2瓶葡萄酒!
酒[0]来了,[A]快渴完了!
酒[0]来了,[B]快渴完了!
做了2瓶葡萄酒!
酒[1]来了,[A]快渴完了!
酒[1]来了,[B]快渴完了!
做了2瓶葡萄酒!
酒[2]来了,[A]快渴完了!
酒[2]来了,[B]快渴完了!
做了2瓶葡萄酒!
酒[3]来了,[A]快渴完了!
酒[3]来了,[B]快渴完了!
做了2瓶葡萄酒!
酒[4]来了,[A]快渴完了!
酒[4]来了,[B]快渴完了!
做了2瓶葡萄酒!
酒[5]来了,[A]快渴完了!
酒[5]来了,[B]快渴完了!
做了2瓶葡萄酒!
酒[6]来了,[A]快渴完了!
酒[6]来了,[B]快渴完了!
做了2瓶葡萄酒!
酒[7]来了,[A]快渴完了!
酒[7]来了,[B]快渴完了!
做了2瓶葡萄酒!
酒[8]来了,[A]快渴完了!
酒[8]来了,[B]快渴完了!
做了2瓶葡萄酒!
酒[9]来了,[A]快渴完了!
酒[9]来了,[B]快渴完了!
最新文章
- Android动态加载框架汇总
- 关于C++默认初始化的总结——开个坑
- MTK MT33xx型GPS的NMEA协议解析实例
- 如何搭建开源code review gerrit服务器
- stst
- 管道过滤器模式(Pipe and Filter)与组合模式(修改)
- 【代码笔记】iOS-多张图片合成一张
- uploadify ,前端页面获取值,json,ajax
- javascript生成自定义的arcgis simpletoolbar
- JAVA IO流结构图
- Django连接mysql数据库
- Linux服务器安装Oracle服务端总结
- 安卓逆向学习---初始APK、Dalvik字节码以及Smali
- CentOS7+ApacheServer2.4+MariaDB10.0+PHP7.0+禅道项目管理软件8.0环境部署
- Web安全测试-WebScarab
- Logistic回归分析简介
- Springboot 编码规范
- Jfinal本地eclipse+tomcat运行项目时候遇到错误Exception starting filter
- Numpy 练习题
- Remi 安装源
热门文章
- Docker学习笔记 — Docker私有仓库搭建
- Leetcode之动态规划(DP)专题-72. 编辑距离(Edit Distance)
- servlet学习之servletAPI编程常用的接口和类
- 菜鸟系列k8s——k8s集群部署(2)
- layer ajax请求
- js中‘0’到底是 true 还是 false
- C++学习 之 继承(笔记)
- HDU 3416 Marriage Match IV (最短路建图+最大流)
- # 解决MongoDB突然无法连接的问题
- java检测是不是移动端访问