zoukankan      html  css  js  c++  java
  • Python3 迭代器与生成器

    生成器

    在 Python 中,使用了 yield 的函数被称为生成器(generator)。

    跟普通函数不同的是,生成器是一个返回迭代器的函数,只能用于迭代操作,更简单点理解生成器就是一个迭代器。

    在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回yield的值。并在下一次执行 next()方法时从当前位置继续运行。

    以下实例使用 yield 实现斐波那契数列:

     1 #!/usr/bin/python3
     2 
     3 import sys
     4 
     5 def fibonacci(n): # 生成器函数 - 斐波那契
     6     a, b, counter = 0, 1, 0
     7     while True:
     8         if (counter > n): 
     9             return
    10         yield a
    11         a, b = b, a + b
    12         counter += 1
    13 f = fibonacci(10) # f 是一个迭代器,由生成器返回生成
    14 
    15 while True:
    16     try:
    17         print (next(f), end=" ")
    18     except StopIteration:
    19         sys.exit()
  • 相关阅读:
    ci上传图片
    Mac下使用svn命令
    linux 下svn忽略文件
    thinkphp5 隐藏入口和支持pathinfo
    ci tp重定向
    php命名空间
    thinkphp5学习记录一
    Mac下安装homebrew
    使用iTerm2快捷连接SSH
    摄影基础
  • 原文地址:https://www.cnblogs.com/denggelin/p/8972719.html
Copyright © 2011-2022 走看看