python生成器简单代码了理解。
2024-09-08 16:19:00
__author__ = 'ZHHT'
#!/usr/bin/env python
# -*- coding:utf-8 -*-
#返回当前执行到的函数的返回值。并保持当前执行的状态。这时候先执行别的。下次在执行的时候,接者上次调用的位置,继续往下执行代码。
def fib(num):
n = 0
a,b=0,1
while n <num:
yield b
a,b=b,a+b
n+=1
return '完成' f = fib(5) while True:
try:
x = next(f)
print("value%d"%x)
except StopIteration as e:
print("生成器返回值--'%s'"%e.value)
break #第二种是例子:
def gen():
i = 0
while i < 5:
temp = yield i
print(temp)
i+=1 f = gen() print(next(f))
print(next(f))
print(next(f))
#它和上面的相同点就是能够继续迭代执行。不通过点是,流程走到yield 返回了i的值,在执行后面的时候temp则接受到的是None,而send则是发了个值贵temp接受就这样一个情况
print(f.send("haha1"))
print(f.send("haha2"))
最新文章
- Java程序员应该了解的10个面向对象设计原则
- JDBC中的Statement和PreparedStatement的区别
- iOS 怎么设置 UITabBarController 的第n个item为第一响应者?
- Cheatsheet: 2013 07.01 ~ 07.08
- Python学习路径8——Python对象2
- cocos2d-x 移植android竖,横屏设置
- 【July】从头到尾彻底理解KMP
- ActionBar 值 addTab 的小提示
- 1.4 SQL函数
- windows的tasklist使用
- 漏洞应急响应之批量poc验证
- TLS 改变密码标准协议(Change Cipher Spec Protocol) 就是加密传输中每隔一段时间必须改变其加解密参数的协议
- npm node sass 安装报错
- Recyclerview 实现上拉加载更多
- MySQL分析函数实现
- Spring JDBC入门程序
- bzoj 3283 扩展BSGS + 快速阶乘
- 话说文件系统——VFS简介(二)
- egret.Capabilities 在pc和移动端输出值
- MiniTools在ubuntu下快捷方式
热门文章
- POJ1287(最小生成树入门题)
- zk 09之:Curator之二:Path Cache监控zookeeper的node和path的状态
- Python 模拟post请求
- JavaScript高级程序设计学习笔记第十四章--表单
- [codeforces161D]Distance in Tree(点分治/树形dp)
- rpm 软件包
- SPOJ SERGRID 【BFS】
- Unity开发Android应用优化指南(下)
- 背包dp
- [Xcode 实际操作]五、使用表格-(8)自定义UITableView单元格Accessory样式(附件图标)