Python之路-生成器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python之路-生成器相关的知识,希望对你有一定的参考价值。
列表生成式:[f(x) for i in range(k)]>>>其中k是常数,f(x)是一个关于i的常数
使用函数实现一个生成器:
def fib(max):n,a,b = 0,0,1while n<max:yield b #关键 yield具有保持值,并通过生成器的__next__()方法返回a,b = b,a+bn += 1return "error" #返回错误信息
生成器的并行运算:生成器通过send(val)方法将值val发送给yield,并将val值赋给yield表达式
赋值:a,b = b,a+b 等价于 t = (b,a+b) a = t[0] b = t[1]
- 生成器只有在调用时才会生成相应的数据
- 生成器只记录当前位置
- 生成器只有__next__()一个方法
以上是关于Python之路-生成器的主要内容,如果未能解决你的问题,请参考以下文章