1. 生成器
生成器的本质是迭代器,
最简单的生成器函数如下:
1 def foo(x): 1-4行定义了一个简单的生成器函数 2 yield x+1 yield 和 return 不同, return 结束整个函数 3 yield x+2 2, 3, 4 中 的yield 和 8, 9, 10 中 __next__ 一一对应 4 yield x+3 5 6 7 f = foo(7) 创建一个生成器对象, 赋值给变量 f 8 print(f.__next__()) f 调用一次 __next__, 就执行 函数中 一次 yield, 9 print(f.__next__()) 注意单次向下执行 10 print(f.__next__())
程序运行结果如下:
8 9 10
注意, 如果再多调用一次__next__, 程序就会报错