博客
关于我
python 生成器
阅读量:130 次
发布时间: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/

你可能感兴趣的文章
小白看完都会了!阿里云大师深入拆解Java虚拟机,看完这一篇你就懂了
查看>>
【IT之路】MySQL基础-MySQL常见操作
查看>>
【IT之路】FAQ-Hibernate报错:表不存在
查看>>
【2020阿里云博客部署实战】如何远程连接和管理控制台基本介绍
查看>>
Java:class5 类的重载,final,static
查看>>
Linux中的C语言程序编译过程
查看>>
C程序举例:利用数组
查看>>
VBA之正则表达式(19)-- 相对引用转绝对引用
查看>>
巧用VBA统一数字单位
查看>>
Transpose实现数组行列转置的限制
查看>>
VBA中数组72变(随心所欲复制)
查看>>
[Golang]golang中自动锁的实现
查看>>
用float/double作为中转类型的“雷区”
查看>>
golang中interface的一些语法缺陷的改进
查看>>
vue-router路由 学习笔记
查看>>
python自然语言处理—Word2vec模型之 CBOW
查看>>
数据结构与算法之栈
查看>>
2021Kali -- 木马免杀制作
查看>>
数据结构大作业--迷宫问题
查看>>
【数据库】第七章课后题
查看>>