yield可将一个函数变成生成器,每次调用时,返回yield的结果,下次迭代时,从yield 下条语句开始执行。

一个典型的例子,斐波拉切数列:

def fab(max):
n, a, b = 0, 0, 1
while n < max:
yield b
# print b
a, b = b, a + b
n = n + 1

输出

>>> fab(5)
1
1
2
3
5

参考:https://www.liaoxuefeng.com/article/001373892916170b88313a39f294309970ad53fc6851243000

最新文章

  1. .NET Core中ADO.NET SqlClient的使用与常见问题
  2. AnjularJS系列4 —— 单个页面加载多个ng-App
  3. gulp教程之gulp-concat
  4. EF架构~引入规约(Specification)模式,让程序扩展性更强
  5. HDU 4865 Peter&#39;s Hobby(概率、dp、log)
  6. 一个很酷的加载loading效果--IT蓝豹
  7. 管理故事&mdash;&mdash;和尚挑水的故事
  8. 经典Bug 修改方法
  9. browser-ua
  10. UVA 12563 劲歌金曲(01背包)
  11. 一步步学习NHibernate(2)&mdash;&mdash;配置NHibernate的环境
  12. Fedora 21 安装桌面环境
  13. 那些年被我坑过的Python——道阻且长(第五章实用模块讲解)
  14. 让页脚footer永远固定在页面的底部,而不是永远固定在显示器屏幕的底部的方法
  15. css3中webkit-box的用法(平分父元素)
  16. 为什么要lock,lock了什么?
  17. A- Bear and Five Cards(codeforces ROUND356 DIV2)
  18. Downloader Middleware
  19. ubuntu15.10 安装 virtualbox5.0
  20. Git操作GitHub时的Proxy配置

热门文章

  1. 剑指Offer-第一个只出现一次的字符位置
  2. DIY一些基于netty的开源框架
  3. 小程序学习(冒泡,快速创建文件,以及tarbar)
  4. pythonのSocket
  5. sonar排除实体类配置
  6. Flash硬件原理
  7. Python os.remove() 删除文件
  8. hibernate框架学习之Session管理
  9. 【BZOJ3590】[Snoi2013]Quare 状压DP
  10. 【翻译】Chemkin - Chapter 1