博客
关于我
python 生成器
阅读量:131 次
发布时间:2019-02-27

本文共 514 字,大约阅读时间需要 1 分钟。

生成器:

生成器在语法上是一个使用了yield的函数

先来一个例子:

def fibonacci(n):  # 生成器函数 - 斐波那契    a, b, counter = 0, 1, 0    while True:        if (counter > n):            return        yield a        a, b = b, a + b        counter += 1f = fibonacci(10)  # f 是一个迭代器,由生成器返回生成if __name__ == '__main__':    while True:        try:            print(next(f), end=" ")        except StopIteration:            break

生成器有俩特点:

  1. 直接调用生成器函数返回的是一个iterator, 相当于初始化了生成器

  2. next(iterator) 将执行函数, 当执行到yield语句时, 将保存此时函数的执行现场, 而后返回yield的值, 下次调用next时, 函数将从中断处继续执行

转载地址:http://ibkb.baihongyu.com/

你可能感兴趣的文章
New Journey--工作五年所思所感小记
查看>>
new Queue(REGISTER_DELAY_QUEUE, true, false, false, params)
查看>>
New Relic——手机应用app开发达人的福利立即就到啦!
查看>>
new work
查看>>
new 一个button 然后dispose,最后这个button是null吗???
查看>>
NewspaceGPT的故事续写能力太强了
查看>>
NewspaceGPT绘制时序图
查看>>
NewspaceGPT绘制类图
查看>>
new一个对象的过程
查看>>
new和delete用法小结
查看>>
new对象时,JVM内部究竟藏了什么小秘密?
查看>>
new操作符的实现原理
查看>>
Next.js React Server Components 教程
查看>>
NextGen Mirth Connect XStream反序列化远程代码执行漏洞(CVE-2023-43208)
查看>>
next项目部署到服务器pm2进程守护
查看>>
nexus 介绍
查看>>
nexus上传jar
查看>>
Nexus指南中的更新强调集成和透明度的重要性
查看>>
Nexus指南已经发布
查看>>
Nexus(1):Nexus的安装与配置
查看>>