首页 > 代码库 > python yield from用法

python yield from用法

Reading data from a generator using yield from

def reader():    """A generator that fakes a read from a file, socket, etc."""    for i in range(4):        yield ‘<< %s‘ % idef reader_wrapper(g):    # Manually iterate over data produced by reader    for v in g:        yield vwrap = reader_wrapper(reader())for i in wrap:    print(i)# Result<< 0<< 1<< 2<< 3

Instead of manually iterating over reader(), we can just yield from it.

def reader_wrapper(g):    yield from g

That works, and we eliminated one line of code. And probably the intent is a little bit clearer (or not). But nothing life changing.

python yield from用法