生成器参考

Generator Functions

def count_up(n): for i in range(n): yield iGenerator with yield
def gen(): yield 1 yield 2 yield 3Multiple yields
next(g)Get next value
list(g)Collect all values
for v in gen(): passIterate generator

Generator Expressions

g = (x**2 for x in range(10))Generator expression
sum(x for x in data if x > 0)Lazy sum

Advanced

value = yield expressionSend values into generator
gen.send(value)Send value to generator
yield from other_gen()Delegate to sub-generator
from itertools import islice islice(gen(), 5)Take first N values