
正文
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.







