python 生成器作用_python-yield-生成器--的作用

编译器 中最初级的模块是进行词法分析, 将源代码 转化成 token流。

可以 一次性将所有 字符转换成token list , 之后再处理;

也可以每次获取一个 token, 处理之后, 接着再获取下一个token, 即边分析边处理, 这就需要token函数 记录 当前分析的 状态, 一种是将状态 由外部调用者 传入, 一种是 函数内部自己来记录这个状态。

也可以使用线程之间通信的方式来处理,将token生产函数 和 token读取函数放到两个线程中。

这一切本质都是为了让代码更好看。

而yield 就是另外一种方式, 每次重入函数的时候, 都将从上次结束的地方 继续开始处理, 这个对象被称为 generator 生成器。

def fib():

a, b = 0, 1

while True:

yield b

a, b = b, a+b

调用函数执行到yield的时候 将会 返回一个生成器, 接着调用生成器的 next() 将会 执行直到再次执行到yield 这里 并将 b 的值返回, 有点类似于 断点调试程序, 查看程序的内部变量的状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值