python yield from用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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‘ % i

def reader_wrapper(g):
    # Manually iterate over data produced by reader
    for v in g:
        yield v

wrap = 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用法的主要内容,如果未能解决你的问题,请参考以下文章

python的关键字yield有啥作用

Python并发编程理解yield from协程

Python yield用法浅析(stackoverflow)

Python `yield from`,还是返回一个生成器?

24 点游戏算法题的 Python 函数式实现: 学用itertools,yield,yield from 巧刷题

python yield,yield from,深浅拷贝