Python: 使用生成器创建新的迭代模式

使用一个生成器函数来定义一个函数模式。

def frange(start, stop, increment):
x = start
while x < stop:
yield x
x += increment

 可以用for循环(sum(),list()等)来迭代这个函数

>>> for n in frange(0, 4, 0.5):
... print(n)
...
0
0.5
1.0
1.5
2.0
2.5
3.0
3.5
>>> list(frange(0, 1, 0.125))
[0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875]

一个函数中需要有一个yield 语句可以将其转换成一个生成器,生成器只用于迭代操作

一个生成器函数主要特征是它只会回应在迭代中使用到的next 操作

原文地址:https://www.cnblogs.com/baxianhua/p/9983475.html