python 生成器

生成器用来创建序列对象,可以迭代庞大的序列,且不需要在内存中创建和存储整个序列。

生成器是为迭代器生成数据的。

每次迭代生成器时,会记录上一次调用的位置,并且返回下一个值。

1、生成器推导式

见推导式。

2、生成器函数

和普通函数类似,但返回值使用yield语句声明。

def my_range(first=0,last=10,step=1):
    number=first
    while number<last:
        yield number
        number+=step

>>>my_range
<function my_range at 0x10193e268>
>>>ranger=my_range(1,5)
>>>ranger
<generator object my_range at 0x101a0a168>
>>>for x in ranger:
...        print(x)
1
2
3
4
原文地址:https://www.cnblogs.com/ivan-count/p/10515694.html