首页 > 编程语言 > 详细

python 生成器

时间:2019-03-24 18:37:19      阅读:106      评论:0      收藏:0      [点我收藏+]

在Python中, ?边循环?边计算的机制, 称为?成器: generator

创建生成器: G = ( x*2 for x in range(5))

可以通过 next() 函数获得?成器的下?个返回值

没有更多的元素时, 抛出 StopIteration 的异常

生成器也可以使? for 循环,因为?成器也是可迭代对象

 

创建生成器的另外一种方法:

def fib(times): #斐波拉契数列(Fibonacci

  n = 0

  a,b = 0,1

  while n<times:

    yield b

    a,b = b,a+b

    n+=1

  return ‘done‘

 

使? __next__() ?法

使?send() 方法 (第一次不能使用,使用前先调用next)

next()等价于send(None)

def gen():

i = 0

while i<5:

temp = yield i #接收send传入的参数

print(temp)

i+=1

?成器的特点:

1. 节约内存

2. 迭代到下?次的调?时, 所使?的参数都是第?次所保留下的

 

python 生成器

原文:https://www.cnblogs.com/Minlwen/p/10589412.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!